二叉树的直径
Contents
问题描述
收获
- 优化该问题的关键在于同时利用dfs的返回值以及在dfs过程中对一个全局变量进行设置这两种dfs的功能。
- 或者说在于对直径的理解
- 我的理解是直径要么经过root,要么不经过root;经过root,直径就是左孩子的高度加右孩子的高度;不经过root,那么直径就是左孩子的直径,或者右孩子的直径。
- 最优解法的理解是:直径是所有节点中,节点的左右孩子的高度之和最大的那个节点!转为求最大的左右孩子高度之和!直径=最大的左右孩子高度之和!
Author 段新朋
LastMod 2020-07-12