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);
}
}
带栈的二叉树非递归先序遍历
最新推荐文章于 2022-11-21 10:37:50 发布