LeetCode——Binary Tree Postorder Traversal
2024-08-30 02:18:03
Given a binary tree, return the postorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3}
,
1
\
2
/
3
return [3,2,1]
.
Note: Recursive solution is trivial, could you do it iteratively?
中文:二叉树的兴许遍历(左-右-根)。能用非递归吗?
递归:
public class BinaryTreePostorderTraversal {
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<Integer>();
if(root == null)
return list;
list.addAll(postorderTraversal(root.left));
list.addAll(postorderTraversal(root.right));
list.add(root.val);
return list;
}
// Definition for binary tree
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
}
非递归:
public List<Integer> postorderTraversal(TreeNode root){
List<Integer> list = new ArrayList<Integer>();
if(root == null)
return list;
Stack<TreeNode> stack = new Stack<TreeNode>();
stack.push(root);//最后訪问
while(!stack.isEmpty()){
TreeNode current = stack.peek();
//根节点无子节点
if(current.left == null && current.right == null){
list.add(current.val);
stack.pop();
}
if(current.left != null){
stack.push(current.left);
current.left = null;
continue;
}
if(current.right != null){
stack.push(current.right);
current.right = null;
continue;
}
}
return list;
}
最新文章
- service mysql start出错,
- JFinal学习
- -webkit-overflow-scrolling : touch;快速滚动标签
- Java多线程系列
- HashSet中的元素必须重写equals方法和hashCode方法
- POJ 2689
- Silverlight动画学习笔记(三):缓动函数
- Create a method synchronized without using synchronized keyword
- Python中zip()函数用法
- android面试题之一
- 意外发现的大批量导入数据SqlBulkCopy类
- Java排序算法之归并排序
- 数据结构--KMP算法总结
- 在SpringBoot中配置定时任务
- TabLayoutViewPagerDemo【TabLayout+ViewPager可滑动】
- bboss oreach循环嵌套遍历map
- app原生和H5混合使用自动化
- 学习Python第七天
- kubeadm安装Kubernetes V1.10集群详细文档
- JAVA中通过Hibernate-Validation进行参数验证
热门文章
- Ubuntu 16.04下IntelliJ IDEA菜单显示乱码的问题解决
- 获取元素位置信息和所占空间大小(via:js&;jquery)
- XCODE 4.5 IOS多语言设置 及NSLocalizedString和NSLocalizedStringFromTable的用法。
- flash+xml无法显示中文的解决办法
- 如何从底层调试docker
- Java数据结构-线性表之静态链表
- JAVA Eclipse 创建android xml看不到预览怎么办
- make -j 4 echo !$
- vue相关知识
- AWK 思维导图