LeetCode-110.平衡二叉树
- 题目定位为简单,只需要理解如何进行二叉树遍历基本都能做出来。只是写出来的代码可能会很冗长,但代码肯定不会很复杂。
- 思路一:迭代。只需要对所有节点进行层序遍历,循环判断当前节点的左右子树的高度(深度),即循环判断当前节点是否是平衡二叉树。
- 思路二:递归。与迭代的思路是一致的,都是计算当前节点的左右子树高度并进行作差判断,只是递归的代码比迭代要简洁很多,所有的功能都放在一个函数中通过递归调用解决。
递归函数最重要的是要确定三点:函数参数、函数返回值和返回条件。我目前也逐渐认识到了这三点的重要性。因为,我就是在写这三点的时候卡壳。
通过刷代码随想录,我已经认识到了这三点对递归的重要性。之前都是模糊的认知,现在逐渐建立起了系统的认知和框架。希望以后能够熟能生巧。