大家在入门二叉树时总会遇到需要递归解题的情况,作为新手的我对于二叉树的递归有一点认识希望对于大家学习有帮助。
初阶的二叉树递归的思路其实就是依据条件从上往下去找去判断,判断完后再从下往上把结果递归回去。关键是想好继续向下递归的条件,和结束递归开始返回的要求。以及按题目要去设计好如何返回结果就行。
例如第一题
题解如下
我们从上向下比较如果一但不相等直接返回false,若一直相等则一直比较到底再返回true.此种一般把判断正确(计算)的条件放到最后,判断终止(错误)的条件放到每一步。
以上这种也是相同思路从下向上判断,当找到子树时结束递归,从下往上返回。找不到就一直找下去,直到底返回false.
这到题我们也是则直接先递归找到最低层,再从下向上把值计算返回。
例如后序遍历也是这样先递归,再去操作。
总结 二叉树的递归很灵活,想好继续向下递归的条件,和结束递归开始返回的要求。以及按题目要去设计好如何返回结果就行。
最后我也是个萌新,见解有限希望大家补充。