以二叉树的后序遍历为例。
后序遍历的递归代码如下
class Solution {
List<Integer> ans = new LinkedList<>();
public List<Integer> postorderTraversal(TreeNode root) {
if (root == null) return ans;
postorder(root);
return ans;
}
public void postorder(TreeNode root)
{
if (root == null) return;
//ans.add(root.val); // 前序遍历
postorder(root.left);
//ans.add(root.val); // 中序遍历
postorder(root.right);
ans.add(root.val); // 后序遍历
}
}
add()函数的位置决定了遍历的方式。
递归执行过程如图

最终遍历的结果为:4>5>2>6>7>3>1


365

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



