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 }
  • 相关阅读:
    php投票系统
    php登陆和注册
    php常见报错
    session和cookie的区别
    php加密方法有哪些
    链接数据库封装类
    php数据库批量删除
    三傻大闹宝莱坞
    巴霍巴利王
    布拉德的中年危机
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10879790.html
Copyright © 2011-2022 走看看