带栈的二叉树非递归先序遍历

来源:互联网 发布:flexible.js 编辑:程序博客网 时间:2024/05/23 21:03
package tree;import java.util.Stack;public class IterativePreorderTraversal {/** * 带栈的二叉树前序非递归遍历 * @param args */public static void printpre(TreeNode root){Stack<TreeNode> stack = new Stack<>();while(root!=null||!stack.isEmpty()){while(root!=null){System.out.print(root.value+" ");stack.push(root);root = root.left;}TreeNode node = stack.pop();root = node.right;}}public static void main(String[] args) {TreeNode root = new TreeNode(1);root.left = new TreeNode(2);root.right = new TreeNode(3);printpre(root);}}

0 0