用俩个栈实现二叉树的非递归后序遍历
来源:互联网 发布:nginx 1.10 1.12 编辑:程序博客网 时间:2024/06/03 14:40
package tree;import java.util.Stack;public class IterativePostorderTraversal {/** * 用一个栈实现二叉树的非递归后序遍历 * @param args */public static void printpost(TreeNode root){Stack<TreeNode> stack1 = new Stack<>();Stack<Boolean> stack2 = new Stack<>();while(root!=null||!stack1.isEmpty()){while(root!=null){stack1.push(root);stack2.push(false);root = root.left;}TreeNode node = stack1.pop();if(!stack2.pop()){stack1.push(node);stack2.push(true);root = node.right;}else{System.out.print(node.value+" ");}}}public static void main(String[] args) {TreeNode root = new TreeNode(1);root.left = new TreeNode(2);root.right = new TreeNode(3);root.left.left = new TreeNode(4);root.left.right = new TreeNode(5);root.right.left = new TreeNode(6);root.right.right = new TreeNode(7);printpost(root);}}
0 0
- 用俩个栈实现二叉树的非递归后序遍历
- 非递归实现二叉查找树的后序遍历
- 二叉树的遍历(后序)-非递归实现
- 二叉树的后序遍历--非递归实现
- 二叉树 前序遍历的非递归实现 中序遍历的非递归实现 后序遍历的非递归实现 创建二叉树
- 非递归实现二叉树的后序遍历、前序遍历、中序遍历
- 二叉树的后序递归,非递归遍历
- 二叉树的先序、中序、后序遍历的递归和非递归实现
- 二叉树非递归前、中、后序遍历实现
- 数据结构-非递归实现后序遍历二叉树
- 【二叉树】实现二叉树的前序、中序、后序的非递归遍历
- 二叉树的前序、中序、后序遍历 递归非递归实现
- 二叉树的前序、中序、后序(递归、非递归)遍历java实现
- 二叉树的前序,中序,后序遍历(递归非递归实现)
- 实现二叉树的前序/中序/后序递归、非递归遍历
- 二叉树的前序,中序,后序遍历。用递归和非递归实现
- 【二叉树遍历算法】——前/中/后序递归与非递归的实现
- [java] 二叉树的后序遍历(递归与非递归实现)
- ubuntu下安卓源码编译环境的搭建
- kong+nginx
- provider:命名管道提供程序,error:40 - 无法打开到SQL Server的连接 (Microsoft SQL Server, 错误:53)
- setStyleSheet来设定窗口部件的样式
- 一级缓存和二级缓存
- 用俩个栈实现二叉树的非递归后序遍历
- 微软这是把Android当QNX用啊
- Error starting command: monkey --port 12345 卡死的问题
- 华为初级——iNOC产品部:杨辉三角形的变形
- JAVA学习篇--静态代理VS动态代理
- 对SVM的理解
- UVA 12718 Dromicpalin Substrings(寻找字符串连续子串的回文)
- Linux中source命令的用法
- 后缀自动机的直观理解