非递归方式实现树的前序遍历(中序or后序)

用一个栈去存储要递归的内容

 1     public void preViewStack(){

 2         System.out.println("==test no digui==");

 3         Stack<Node> stack = new Stack<Node>();

 4         stack.push(root);

 5         Node tmp = null;

 6         while(!stack.isEmpty()) {

 7             tmp = stack.pop();

 8             System.out.println(tmp.value);

 9                 

10             if(tmp.rightNode != null) {

11                 stack.push(tmp.rightNode);

12             }

13             if(tmp.leftNode != null) {

14                 stack.push(tmp.leftNode);

15             }

16         }        

17     }

 

你可能感兴趣的:(非递归)