首先理解二叉树的遍历递归方法。这篇文章写的不错。
https://blog.csdn.net/allenchenhh133/article/details/80291252
看完这篇文章后,再总结下:
不要太在意细节问题,二叉树递归没那么难。只要知道过程,剩下的交给编译器。
① 从根节点往左子树或者是右子树继续遍历。
举例:
root.left遍历左子树,一直遍历到结点为空 或者停止的那个条件为止,左子树为空,右子树也为空,然后返回上一层。继续遍历当前结点的右子树,然后再继续遍历当前结点的左子树,直到左子树为空,遍历右子树,右子树也为空的话。返回上一层。知道返回到根节点。
root.right遍历右子树,一直遍历到右子树为空为止,然后遍历当前结点的左子树,左子树为空的话,返回上一层。依次遍历到root为止。
小结:先遍历到叶节点,然后不满足条件后,再往上推。
版权声明:本文为Sunshineoe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。