- 0
- 0
- 约8.73千字
- 约 24页
- 2026-01-21 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件工程师面试宝典:问题解答
一、编程语言与基础算法(5题,每题10分)
1.题目:
编写一个函数,实现二叉树的层序遍历(按深度优先遍历顺序输出每一层的节点值)。假设二叉树的节点定义如下:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
请用Python实现该函数,并给出测试案例。
答案与解析:
python
fromcollectionsimportdeque
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
deflevel_order_traversal(root):
ifnotroot:
return[]
result=[]
queue=deque([root])
whilequeue:
level_size=len(queue)
current_level=[]
for_inrange(level_size):
node=queue.popleft()
current_level.append(node.val)
ifnode.left:
queue.append(node.left)
ifnode.right:
queue.append(node.right)
result.append(current_level)
returnresult
测试案例
if__name__==__main__:
构建一个示例二叉树:
1
/\
23
/\\
456
root=TreeNode(1)
root.left=TreeNode(2)
root.right=TreeNode(3)
root.left.left=TreeNode(4)
root.left.right=TreeNode(5)
root.right.right=TreeNode(6)
print(level_order_traversal(root))#输出:[[1],[2,3],[4,5,6]]
解析:
层序遍历通常使用广度优先搜索(BFS)实现,借助队列(`deque`)存储当前层的节点。每轮遍历当前层的所有节点,并将其子节点加入队列,直到队列为空。通过记录每一轮的节点数量,可以按层输出节点值。
2.题目:
给定一个无重复元素的数组`nums`和一个目标值`target`,编写函数返回`target`在数组中的所有索引(顺序输出)。例如:
python
nums=[5,7,7,9],target=7
应返回`[1,2]`。
答案与解析:
python
deffind_all_indices(nums,target):
result=[]
fori,numinenumerate(nums):
ifnum==target:
result.append(i)
returnresult
测试案例
print(find_all_indices([5,7,7,9],7))#输出:[1,2]
解析:
简单遍历数组,使用`enumerate`获取每个元素的索引,若元素等于`target`,则记录索引。时间复杂度为O(n),空间复杂度为O(k),其中k为返回索引的数量。
3.题目:
实现一个函数,检查一个字符串是否为有效的括号组合(仅考虑`()`、`[]`、`{}`)。
答案与解析:
python
defisValid(s):
stack=[]
mapping={):(,]:[,}:{}
forcharins:
ifcharinmapping.values():
stack.append(char)
elifcharinmapping:
ifnotstackorstack.pop()!=mapping[char]:
returnFalse
else:
returnFalse
returnnotstack
测试案例
print(isValid(()[]{}))#输出:True
print(isValid((]))#输出:False
解析:
使用栈结构处理括号匹配问题。遍历字符串,若为左括
您可能关注的文档
- 2026年业务智能分析师面试题集.docx
- 2026年万科集团成本负责人面试题及答案解析.docx
- 2026年教育培训行业的市场营销策略研究论文题目.docx
- 2026年医药行业高级研发科学家面试须知及答案.docx
- 2026年在线教育讲师岗位职责与面试题解析.docx
- 2026年金融业会计实务面试题目解析.docx
- 2026年新闻从业者面试问题与答案.docx
- 2026年环境工程公司财务报表解读与分析试题.docx
- 2026年跨文化沟通专员面试题集.docx
- 2026年金融行业高管助理面试全攻略及答案.docx
- 部编版人教版一年级语文下册《识字:古对今》赛教课件.pptx
- 新编人教部编版二年级下册语文《我是一只小虫子》名师教学课件.pptx
- 最新人教部编版九年级语文上册《精神的三间小屋》精品课件.ppt
- 全优指导高中数学人教A版选修2-1课件:3.2.1利用向量证明空间中的平行关系.ppt
- 最新人教部编版小学语文一年级下册《动物儿歌》教学设计.docx
- 最新人教部编版四年级语文上册《风筝》精品课件.ppt
- 北师大版数学六年级下册《数的运算》课件.ppt
- 部编版人教版初一七年级语文下册《老王》名师课件.ppt
- 部编版人教版初一七年级语文下册《将军百战死-壮士十年归——“互文”修辞手法》名师课件.pptx
- 部编版三年级语文下册《童年的水墨画》教学课件.pptx
原创力文档

文档评论(0)