**LeetCode-145二叉树后序遍历
问题: 后序遍历二叉树 分析:非递归后序遍历二叉树。直接后序遍历的话会很麻烦,所以我们要想一些精妙的方法,将后序遍历改成先序遍历并满足以下两个条件即可。 1.使用链表头插法来进行先序遍历。 2.先遍历右子树再遍历左子树即可(借助栈实现,先将左节点压栈,再将右节点压栈)。 代码: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public List<Integer> postorderTraversal(TreeNode root) { LinkedList<Integer> output = new LinkedList(); if(root==null){ return output; } Stack s = new Stack(); TreeNode node; s.push(root); while(!s.empty()){ //注意记忆循环条件 node = (TreeNode)s.pop(); output.addFirst(node.val); if(node.left!=null){