在准备求职的过程中,很多同学都会选择通过模拟笔试题目来提升自己的能力。腾讯作为国内顶尖的互联网公司之一,其笔试题目自然备受关注。本文将分享一些腾讯常见的笔试题目,并提供参考答案,希望能帮助大家更好地备考。
题目一:字符串反转
问题描述:
编写一个函数,输入一个字符串,输出该字符串反转后的结果。
示例:
输入:"hello"
输出:"olleh"
解答:
```python
def reverse_string(s):
return s[::-1]
测试
print(reverse_string("hello")) 输出: olleh
```
题目二:数组去重
问题描述:
给定一个整数数组,去除其中重复的元素,使得每个元素只出现一次,并返回新数组的长度。
示例:
输入:[1, 1, 2]
输出:2
解释:新的数组为 [1, 2]
解答:
```python
def remove_duplicates(nums):
if not nums:
return 0
i = 0
for j in range(1, len(nums)):
if nums[j] != nums[i]:
i += 1
nums[i] = nums[j]
return i + 1
测试
nums = [1, 1, 2]
length = remove_duplicates(nums)
print(length) 输出: 2
print(nums[:length]) 输出: [1, 2]
```
题目三:二叉树遍历
问题描述:
给定一个二叉树的根节点,按照中序遍历的方式输出所有节点的值。
示例:
输入:
```
1
\
2
/
3
```
输出:[1, 3, 2]
解答:
```python
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
def inorder_traversal(root):
result = []
stack = []
current = root
while current or stack:
while current:
stack.append(current)
current = current.left
current = stack.pop()
result.append(current.val)
current = current.right
return result
测试
root = TreeNode(1)
root.right = TreeNode(2)
root.right.left = TreeNode(3)
print(inorder_traversal(root)) 输出: [1, 3, 2]
```
以上是一些腾讯笔试中常见的题目及解答。希望这些题目能帮助大家熟悉面试中的常见考点。在实际面试中,除了掌握基础算法和数据结构外,还需要注意代码的可读性和效率。祝大家都能顺利通过笔试,拿到心仪的offer!