码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树前序非递归遍历

时间:2017-01-20 20:39:49      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:pre   nod   style   null   return   int   str   ret   ring   

 1 package com.basic.bt;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Stack;
 5 
 6 /**
 7  * Created by mac on 2017/1/19.
 8  */
 9 public class PreOrderBT {
10 
11     public ArrayList<Integer> result = new ArrayList<>();
12     public ArrayList<Integer> pre = new ArrayList<>();
13 
15     public void preOrder(TreeNode root) {
16         if(root == null) {
17             return;
18         }
19         //访问跟 -> 左孩子 -> 右孩子
20         result.add(root.val);
21         preOrder(root.left);
22         preOrder(root.right);
23     }
24 
25     // no recursion
26     public void preOrderTraversal(TreeNode root)
27     {
28         if(root == null) {
29             return;
30         }
31         Stack<TreeNode> stack = new Stack<TreeNode>();
32         stack.push(root);
33         while(!stack.isEmpty()) {
34             TreeNode node = stack.pop();
35             pre.add(node.val);
36             if(node.right != null) {
37                 stack.push(node.right);
38             }
39             if(node.left != null) {
40                 stack.push(node.left);
41             }
42         }
43 
44     }
45 
46     public  static void main(String[] args) {
47         PreOrderBT pre = new PreOrderBT();
48         TreeNode root = new TreeNode(0);
49         TreeNode node1 = new TreeNode(1);
50         TreeNode node2 = new TreeNode(2);
51         TreeNode node3 = new TreeNode(3);
52         TreeNode node4 = new TreeNode(4);
53 
54         root.left = node1;
55         root.right = node2;
56         node1.left = node3;
57         node1.right =node4;
58         pre.preOrderTraversal(root);
59         for(int i = 0; i < pre.pre.size(); i++) {
60             System.out.println(pre.pre.get(i));
61         }
62     }
63 
64 }

 

二叉树前序非递归遍历

标签:pre   nod   style   null   return   int   str   ret   ring   

原文地址:http://www.cnblogs.com/superzhaochao/p/6323671.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!