题目
My way
递归实现
1 | /** |
手动压栈DFS
手动压栈,存储对应树结点和其高度,然后更新左右子树为空时的树高作为最小深度。
1 | /** |
层次遍历
1 | /** |
References
https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/solution/li-jie-zhe-dao-ti-de-jie-shu-tiao-jian-by-user7208/
总结
- 被情况\([1, 2]\)卡住了,因为计算的树深度是指root到leaf(左右孩子为空)的深度,此时应该是2,这个case一开始通过不了
- 左右子树有一个为空时,则返回左右子树的深度之和 + 1即可。
- 即,省略了对于左,右子树两个子树的两次判断为一次。
- 一种代码优化结构。