非递归遍历二叉树
来源:互联网 发布:php 大文件分片上传 编辑:程序博客网 时间:2024/05/17 02:44
public static void preOrder(Node root){ //check Stack stack = new Stack(); Node p = root; while(p != null){ stack.push(p); System.out.print(p.value + " "); if(p.left != null){ p = p.left; continue; } while(true){ Node node = (Node)stack.pop(); if(node == null) { return; } if(node.right != null){ p = node.right; break; } } } }
public static void inOrder(Node root){ //check Stack stack = new Stack(); Node p = root; while(p != null){ stack.push(p); if(p.left != null){ p = p.left; continue; } while(true){ Node node = (Node)stack.pop(); if(node == null) { return; } System.out.print(node.value + " "); if(node.right != null){ p = node.right; break; } } } }
public static void postOrder(Node root){ //check Stack stack = new Stack(); Node p = root; while(p != null){ stack.push(p); if(p.left != null){ p = p.left; continue; } Node last = null; while(true){ Node node = (Node)stack.peek(); if(node == null){//根节点 return; } //要记下上次的点,避免处理完右子节点,接着处理父节点时陷入死循环 if((node.right == null) || (node.right == last)){ last = (Node)stack.pop(); System.out.print(node.value + " "); }else{ p = node.right; break; } } } }
0 0
- 非递归遍历二叉树
- 二叉树遍历非递归
- 非递归遍历二叉树
- 二叉树非递归遍历
- 二叉树非递归遍历
- 非递归遍历二叉树
- 二叉树非递归遍历
- 非递归遍历二叉树
- 非递归遍历二叉树
- 非递归遍历二叉树
- 非递归遍历二叉树
- 非递归遍历二叉树
- 二叉树非递归遍历
- 二叉树遍历--非递归
- 二叉树非递归遍历
- 非递归遍历二叉树
- 二叉树非递归遍历
- 二叉树非递归遍历
- 使用runInstaller 的executePrereqs选项来验证os是否符合oracle db software的安装要求
- nike tiempo mpRi MeJ jJSP5
- jghfgfggdfskjghgfgdsafgklhjhgfgdsfajlkhgfd
- CodeForces #292 div.2 题解
- 合家福郭敬明进口国付和鬼地方的发更多的是v银行的费工夫放到大幅度的地方
- 非递归遍历二叉树
- Tempter of the Bone 回溯法 还有奇偶剪枝
- POJ 3264 Balanced Lineup
- POJ 1062 昂贵的聘礼(最短路+枚举)
- CodeForces 276C Little Girl and Maximum Sum
- UIKit基础:13.UI基础控件的小结
- 深入浅出Android Support Annotations
- CodeForces 295A Greg and Array
- windows上运行mapreduce