一、递归遍历
比较简单,注意函数传参的形式

二、迭代遍历
前序:
利用栈进行 中-右-左的顺序进行入栈出栈操作,对栈顶元素进行循环遍历。

其中测试用例存在空树,这步代码不能少:
if(root == null) return res;
中序:
一直找左孩子,直到找到叶子节点。

后序:

但是先序入栈顺序是中右左,所以后序入栈顺序反而是中左右。

三、层序遍历
返回结果为嵌套数组,在每层遍历循环中定义一个数组,作为嵌套数组的层序遍历结果。
注意点在于size需要定义在每层的for循环外,size是每层的变化量。

96

被折叠的 条评论
为什么被折叠?



