标签:des style blog color os io ar div sp
public class Solution { public List<Integer> postorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<Integer>(); Stack<TreeNode> nodeStack = new Stack<TreeNode>(); TreeNode nowNode = root; boolean popNode = false; if (root == null) return result; while(!(nowNode == root && popNode)) { if ( !popNode && nowNode != null) { nodeStack.push(nowNode); nowNode = nowNode.left; } else if ( nowNode == null || (popNode && nowNode != nodeStack.peek().right)) { //left done if (nodeStack.peek().right == null) { nowNode = nodeStack.pop(); result.add(nowNode.val); popNode = true; } else { nowNode = nodeStack.peek().right; popNode = false; } } else if (popNode && (nowNode == nodeStack.peek().right)) { //right done nowNode = nodeStack.pop(); result.add(nowNode.val); popNode = true; } } return result; } }
[LeetCode] Binary Tree Postorder Traversal
标签:des style blog color os io ar div sp
原文地址:http://www.cnblogs.com/yuhaos/p/3957125.html