68
来源:互联网 发布:淘宝内部优惠券是真的吗 编辑:程序博客网 时间:2024/04/30 04:39
3.31
果然二叉树的后序遍历掌握的很是不好啊。
用非递归的方法不知道为啥总超时。
最后没有办法用了递归的方法。
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: The root of binary tree. * @return: Postorder in ArrayList which contains node values. */ public ArrayList<Integer> postorderTraversal(TreeNode root) { ArrayList<Integer> s = new ArrayList<Integer>(); // LinkedList<TreeNode> list = new LinkedList<TreeNode>(); if(root == null){ return s; } s.addAll(postorderTraversal(root.left)); s.addAll(postorderTraversal(root.right)); s.add(root.val); return s; // write your code here }}
再后来又研究了一下就AC了。
果然基本功要扎实啊
非递归的方式
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: The root of binary tree. * @return: Postorder in ArrayList which contains node values. */ public ArrayList<Integer> postorderTraversal(TreeNode root) { ArrayList<Integer> s = new ArrayList<Integer>(); LinkedList<TreeNode> list = new LinkedList<TreeNode>(); if(root == null){ return s; } TreeNode bt = root;TreeNode tmp = root;while(bt != null || !list.isEmpty()){while( bt != null){//tmp = hashMap.for(;bt.left != null;bt = bt.left){list.push(bt);}while(bt != null && (bt.right ==null || bt.right == tmp)){s.add(bt.val);tmp = bt;if(list.isEmpty()){return s;}bt = list.pop();}list.push(bt);bt = bt.right;} // write your code here } return s; }}
0 0
- 68
- 68
- 68
- NYOJ 68
- nyoj-68
- nyist-68
- NYOJ 68
- Leetcode#68||
- ocp-68
- BESTCODER 68
- 总结68
- 练习68
- 经典68个故事
- 经典68个故事
- CC386 v3.68
- 疯狂的程序员68
- 相见恨晚的68句话
- 相见恨晚的68句话
- jmp指令(0903)
- 【struts2】(二)值栈
- 出现了Exception starting filter struts2错误
- Js_10_2_事件3
- [Zjoi2017]bzoj4785 树状数组
- 68
- java代码--请设计一个方法,可以实现任意范围内的随机数
- mybatis
- 记Kinect学习过程-与C++的配置e1
- 使用Java代码的方式实现简易的走势图(1)
- public class 实体类名 implements java.io.Serializable{...}
- 项目部署
- Mac 使用dd命令创建linux 启动 U盘
- 01 Python變量和數據類型