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

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

时间:2018-03-10 21:51:59      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:link   while   offer   iterator   his   log   入队   arraylist   turn   

 1 /*
 2 思路:借助栈来实现  
 3 树为空时  返回空
 4 树不为空  将根节点如队列
 5 然后将队列首元素出队列   如果该元素有左子节点那么左子节点入队了  如果该元素有右子节点那么右子节点入队列
 6 最后  进队列的顺序也就是出队列的顺序
 7 */
 8 import java.util.ArrayList;
 9 import java.util.*;
10 import java.util.Iterator;
11 /**
12 public class TreeNode {
13     int val = 0;
14     TreeNode left = null;
15     TreeNode right = null;
16 
17     public TreeNode(int val) {
18         this.val = val;
19 
20     }
21 
22 }
23 */
24 public class Solution {
25     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {      
26         Queue <TreeNode>queue=new LinkedList<TreeNode>();
27         ArrayList <Integer>list=new ArrayList<Integer>();
28          if(root==null)return list;
29         queue.offer(root);
30         while(!queue.isEmpty()){
31              TreeNode t=queue.poll();
32              list.add(t.val);
33             if(t.left!=null){
34                 queue.offer(t.left);
35             }
36             if(t.right!=null){
37                 queue.offer(t.right);
38             }
39         }
40         return list;
41                                
42     }
43 }

 

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

标签:link   while   offer   iterator   his   log   入队   arraylist   turn   

原文地址:https://www.cnblogs.com/bolianggufeng/p/8541801.html

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