- 3
- 0
- 约8.32千字
- 约 25页
- 2026-03-09 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试宝典:编程难题与参考答案
第一部分:算法与数据结构(共5题,每题15分)
1.二叉树的深度优先遍历(15分)
题目:
给定一个二叉树,请分别实现前序遍历、中序遍历和后序遍历的递归和非递归(使用栈)版本。假设二叉树节点定义如下:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
参考答案:
前序遍历(递归版):
python
defpreorder_traversal_recursive(root):
ifnotroot:
return[]
result=[]
defdfs(node):
ifnotnode:
return
result.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
returnresult
前序遍历(非递归版):
python
defpreorder_traversal_iterative(root):
ifnotroot:
return[]
result,stack=[],[root]
while
原创力文档

文档评论(0)