题目描述
给定一个二叉树,返回它的后序遍历。
参考自:https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20题解%20-%20树.md#1-%E9%9D%9E%E9%80%92%E5%BD%92%E5%AE%9E%E7%8E%B0%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%89%8D%E5%BA%8F%E9%81%8D%E5%8E%86
递归解法
public static void postOrderRecur(TreeNode head) {
if (head == null) return;
postOrderRecur(head.left);
postOrderRecur(head.right);
System.out.print(head.value + " ");
}
迭代解法
前序遍历为 root -> left -> right,后序遍历为:left -> right -> root,可以修改前序遍历成为 root -> right -> left,那这个顺序就正好和后序遍历相反。
代码
知识点
- Collections.reverse(list),反转一个list