首页 > 其他 > 详细

Binary Tree Postorder Traversal

时间:2014-02-19 18:28:27      阅读:209      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 public class Solution {
 2     public ArrayList<Integer> postorderTraversal(TreeNode root) {
 3         ArrayList<Integer> res = new ArrayList<Integer>();
 4         if(root==null) return res;
 5         TreeNode cur = null, pre = null;
 6         Stack<TreeNode>stack = new Stack<TreeNode>();
 7         stack.push(root);
 8         while(!stack.isEmpty()){
 9             cur = stack.peek();
10             if((cur.right==null && cur.left==null) ||(pre!=null && (cur.right==pre || cur.left==pre))){
11                 res.add(cur.val);
12                 pre = cur;
13                 stack.pop();
14             }else{
15                 if(cur.right!=null){
16                     stack.push(cur.right);
17                 }
18                 if(cur.left!=null){
19                     stack.push(cur.left);
20                 }
21             }
22         }
23         return res;
24     }
25 }
View Code

Binary Tree Postorder Traversal

原文:http://www.cnblogs.com/krunning/p/3555187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!