2026年技术面试题及答案解析.docxVIP

  • 1
  • 0
  • 约5.92千字
  • 约 18页
  • 2026-01-08 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年技术面试题及答案解析

一、编程题(共3题,每题20分,总分60分)

1.剑指Offer系列:二叉树的深度与遍历(20分)

题目:

给定一个二叉树,编写代码计算其深度,并实现前序遍历、中序遍历和后序遍历的非递归算法。假设二叉树节点定义如下:

python

classTreeNode:

def__init__(self,val=0,left=None,right=None):

self.val=val

self.left=left

self.right=right

要求:

-深度计算需考虑空树为0。

-遍历需使用栈实现,不能使用递归。

-输出遍历结果时需按空格分隔,如前序遍历结果为`123`。

答案:

python

深度计算(非递归)

defmax_depth(root):

ifnotroot:

return0

stack=[(root,1)]

max_d=0

whilestack:

node,d=stack.pop()

max_d=max(max_d,d)

ifnode.left:

stack.append((node.left,d+1))

ifnode.right:

stack.append((node.right,d+1))

returnmax_d

前序遍历(非递归)

defpreorder_traversal(root):

ifnotroot:

return[]

stack,res=[root],[]

whilestack:

node=stack.pop()

res.append(node.val)

ifnode.right:

stack.append(node.right)

ifnode.left:

stack.append(node.left)

return.join(map(str,res))

中序遍历(非递归)

definorder_traversal(root):

ifnotroot:

return[]

stack,res,node=[],[],root

whilestackornode:

whilenode:

stack.append(node)

node=node.left

node=stack.pop()

res.append(node.val)

node=node.right

return.join(map(str,res))

后序遍历(非递归)

defpostorder_traversal(root):

ifnotroot:

return[]

stack,res=[(root,False)],[]

whilestack:

node,visited=stack.pop()

ifnode:

ifvisited:

res.append(node.val)

else:

stack.append((node,True))

stack.append((node.right,False))

stack.append((node.left,False))

return.join(map(str,res))

解析:

-深度计算:使用栈记录节点及当前深度,通过遍历所有节点更新最大深度。空树深度为0,符合定义。

-前序遍历:遵循根-左-右顺序,先将右子节点入栈以避免左子节点先出栈。

-中序遍历:遵循左-根-右顺序,通过循环右子节点访问。

-后序遍历:可利用双栈或单栈+标记法实现,此处采用单栈+状态标记(访问过右子节点后处理)。

2.LeetCode经典:合并两个排序链表(20分)

题目:

合并两个单调递增的链表,返回合并后的头节点。假设链表节点定义如下:

python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.next=next

要求:

-合并后链表仍需保持排序,时间复杂度O(N)。

-优化空间复杂度,不使用额外存储。

答案:

python

defmerge_two_lists(l1,l2):

dummy=ListNode(0)

current=dummy

whilel1andl2:

ifl1.vall2.val:

current.next=l1

l1=l1.next

else:

current.next=l2

l2=l2.next

current=current.next

current.next=

文档评论(0)

1亿VIP精品文档

相关文档