工程师面试题及答案.docxVIP

  • 2
  • 0
  • 约6.99千字
  • 约 24页
  • 2026-05-22 发布于四川
  • 举报

工程师面试题及答案

一、算法与数据结构

1.请实现一个函数,判断给定的二叉树是否为平衡二叉树。平衡二叉树的定义是:对于树中的任意一个节点,其左子树和右子树的高度差不超过1。

答案:

```python

classTreeNode:

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

self.val=val

self.left=left

self.right=right

defis_balanced(root):

defdfs(node):

ifnotnode:

return0,True

left_height,left_balanced=dfs(node.left)

right_height,right_balanced=dfs(node.right)

current_height=max(left_height,right_height)+1

current_balanced=left_balancedandright_balancedandabs(left_heightright_height)=1

returncurrent_height,current_balanced

_,balanced=dfs(root)

returnbalanced

```

文档评论(0)

1亿VIP精品文档

相关文档