非递归方式实现树的前序遍历(中序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     }

 

posted @ 2014-06-19 00:07  子柱  阅读(286)  评论(0编辑  收藏  举报