腾讯面试题更新 2026-08-05

请手写代码计算一棵二叉树的直径(即任意两个节点之间最长路径的边数),并说明你如何定义节点结构和输入。

腾讯前端/移动开发互联网/IT编码实现问题拆解技术原理

考察说明

考察树的遍历算法理解、代码实现准确性及数据结构定义能力

回答思路

  1. 定义清晰节点结构和输入方式
  2. 利用递归计算每个节点左右子树深度之和
  3. 正确处理空树和单节点边界
  4. 能够解释算法时间复杂度和空间复杂度