zoukankan      html  css  js  c++  java
  • 剑指offer——二叉树打印成多行

    题目链接:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

    解题思路:

    /**
     * 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
     * 思路:
     * 按层次输出二叉树
     * 访问根节点,并将根节点入队。
     * 当队列不空的时候,重复以下操作。
     * 1、弹出一个元素。作为当前的根节点。
     * 2、如果根节点有左孩子,访问左孩子,并将左孩子入队。
     * 3、如果根节点有右孩子,访问右孩子,并将右孩子入队。
     */
     //此时的queue中存储的都是下一层的节点,则end即为queue大小
     1 import java.util.ArrayList;
     2 
     3 
     4 /*
     5 public class TreeNode {
     6     int val = 0;
     7     TreeNode left = null;
     8     TreeNode right = null;
     9 
    10     public TreeNode(int val) {
    11         this.val = val;
    12 
    13     }
    14 
    15 }
    16 */
    17 public class Solution {
    18     ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
    19         
    20         ArrayList<ArrayList<Integer>> res = new ArrayList<>();
    21         ArrayList<Integer> list = new ArrayList<>();
    22         ArrayList<TreeNode> queue = new ArrayList<>();
    23         if(pRoot==null)
    24             return res;
    25         int start=0;
    26         int end=1;
    27         queue.add(pRoot);
    28         while(!queue.isEmpty())
    29         {
    30             TreeNode node = queue.remove(0);
    31             start++;
    32             if(node.left!=null)
    33                 queue.add(node.left);
    34             if(node.right!=null)
    35                 queue.add(node.right);
    36             list.add(node.val);
    37             
    38             if(start==end)
    39             {
    40                 res.add(list);
    41                 start=0;
    42                 end = queue.size();
    43                 list = new ArrayList<>();
    44             }
    45         }
    46         return res;
    47         
    48     
    49     }
    50     
    51 }
  • 相关阅读:
    团队冲刺阶段二(八)
    团队项目事后诸葛亮会议
    团队冲刺阶段二(七)
    团队冲刺阶段二(六)
    团队冲刺阶段二(五)
    团队冲刺阶段二(四)
    HTML5 CSS3
    浮动和渐变色,定位position,元素的层叠顺序
    css盒模型。边框和内外边距
    标签分类与元素转换
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10879790.html
Copyright © 2011-2022 走看看