algorithm - 如何找到连接二叉树中两个叶子的最长路径?
问题描述
如何找到通过二叉树的根连接两片叶子的最长路径的长度?
- 该函数必须是递归的,并且必须返回最长路径的长度。
- 我只需要伪代码
我刚刚读到我要找的东西叫做树的直径
解决方案
请注意,二叉树的直径不一定等于通过根的最长路径的长度。考虑一个完整的二叉树,它通过在根上添加一个额外的节点来修改 - 那么最佳路径根本不会通过根。
如果一定要经过根,那么最长的路径就是到达左右子树中最深节点的路径。所以考虑编写一个辅助函数来查找子树中最深的节点,看看是否可以以此为起点。
推荐阅读
- time-series - 用大量数据拟合 SARIMAX 模型?目前很慢
- python - 如何在熊猫数据框中处理小数点后的零
- java - 当普罗米修斯端点正在调用时,MockMvc 收到 404
- firebase - 为什么我的 firebase 项目无法识别新版本?
- powershell - 如何修复 Visual Studio Code“带有退出代码的终端:3221225786”?
- decode - 编码面试问题的有趣反转
- python - kivy 中的视频播放器没有响应
- html - 打印时底部的页脚
- swiftui - 如何订购 3 路领带?
- html - Google 可编程搜索 - 打开链接点击新窗口中的结果