首页 > 代码库 > 后续遍历 java leecode
后续遍历 java leecode
以前觉得后续遍历最难写,今天看了篇博客http://blog.csdn.net/sgbfblog/article/details/7773103,其实却是我们仔细比较后续遍历和先序遍历,其实后续遍历就是按照 根右左 的方式先序访问然后逆序就是答案了,会先序就会逆序了
leecode 的AC代码:
public class Solution { public List<Integer> postorderTraversal(TreeNode root) { ArrayList<Integer> arry=new ArrayList<Integer>(); if(root==null) return arry; Stack<TreeNode> s=new Stack<TreeNode>(); Stack<TreeNode> s2=new Stack<TreeNode>(); s.push(root); while(!s.isEmpty()) { TreeNode t=s.pop(); s2.push(t); if(t.left!=null) s.push(t.left); if(t.right!=null) s.push(t.right); } while(!s2.isEmpty()) { arry.add(s2.pop().val); } return arry; }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。