剑指offer广度优先遍历二叉树

Posted singular

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer广度优先遍历二叉树相关的知识,希望对你有一定的参考价值。

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

*思路:先用队列存放树的根结点。每次出队一个结点,将结点非空的左右孩子分别入队。重复此过程,直到队列为空。

 1 import java.util.ArrayList;
 2 /**
 3 public class TreeNode {
 4     int val = 0;
 5     TreeNode left = null;
 6     TreeNode right = null;
 7 
 8     public TreeNode(int val) {
 9         this.val = val;
10 
11     }
12 
13 }
14 */
15 
16 
17 public class Solution {
18     
19     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
20       ArrayList<TreeNode> queue = new ArrayList<TreeNode>();
21       ArrayList<Integer> result = new ArrayList<Integer>();
22       //非空处理
23       if(root==null){ return result;}
24     //初始化
25       queue.add(root);
26       result.add(root.val);
27       while(!queue.isEmpty()){
28         TreeNode node = queue.remove(0);
29         TreeNode left = node.left;
30         TreeNode right = node.right;
31         if(left!=null){
32             queue.add(left); 
33             result.add(left.val);
34         }
35         if(right!=null){
36             queue.add(right);
37             result.add(right.val);
38         }
39       }
40         return result;
41     }
42 }

 

以上是关于剑指offer广度优先遍历二叉树的主要内容,如果未能解决你的问题,请参考以下文章

剑指 Offer 32 - II. 从上到下打印二叉树 II

剑指 Offer 37. 序列化二叉树

[剑指Offer] 22.从上往下打印二叉树

剑指offer(59)按之字形顺序打印二叉树

剑指 Offer 32 - II. 从上到下打印二叉树 II

二叉树遍历(前序中序后序层次深度优先广度优先遍历)