【剑指offer】-从上往下打印二叉树-22/67

简介: 【剑指offer】-从上往下打印二叉树-22/67

1. 题目描述

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

2. 题目分析

(1)一道二叉树经典的例题,二叉树的层次遍历

(2)大致思想就是,创建一个队列,将根节点(root)加入,分别遍历他的左子树和右子树,遍历左子树的同时,将左子树的左子树和右子树加入队列,遍历右子树的同时,将左子树的左子树和右子树加入队列。

(3)依次类推,最后返回List。

3. 题目代码

public static ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
    ArrayList<Integer> arrayList = new ArrayList<Integer>(); // 存储遍历的数组
    Queue<TreeNode> queue = new LinkedList<TreeNode>();
    if (root == null) {
      return arrayList;
    }
    queue.add(root);
    while (queue.size() != 0) {
      TreeNode temp = queue.poll();
      if(temp.left != null) {
        queue.add(temp.left);
      }
      if(temp.right != null) {
        queue.add(temp.right);
      }
      arrayList.add(temp.val);
    }
    return arrayList;
  }


相关文章
|
6月前
|
算法
《剑指offer》之从上到下打印二叉树Ⅰ、Ⅱ、Ⅲ
《剑指offer》之从上到下打印二叉树Ⅰ、Ⅱ、Ⅲ
48 0
|
6月前
|
存储
【剑指offer】-把二叉树打印成多行-43/67
【剑指offer】-把二叉树打印成多行-43/67
|
6月前
|
存储
【剑指offer】- 按之字形顺序打印二叉树-45/67
【剑指offer】- 按之字形顺序打印二叉树-45/67
|
存储 C语言
力扣 - 102、二叉树的层序遍历(剑指Offer - 面试题32:从上到下打印二叉树)
力扣 - 102、二叉树的层序遍历(剑指Offer - 面试题32:从上到下打印二叉树)
78 1
剑指offer_二叉树---之字形打印二叉树
剑指offer_二叉树---之字形打印二叉树
59 0
剑指offer 33. 之字形打印二叉树
剑指offer 33. 之字形打印二叉树
75 0
剑指offer_二叉树---从上往下打印二叉树
剑指offer_二叉树---从上往下打印二叉树
65 0
剑指offer_二叉树---把二叉树打印成多行
剑指offer_二叉树---把二叉树打印成多行
63 0
|
算法 前端开发 程序员
「LeetCode」剑指Offer-32从上到下打印二叉树 ⚡️
「LeetCode」剑指Offer-32从上到下打印二叉树 ⚡️
106 0
「LeetCode」剑指Offer-32从上到下打印二叉树 ⚡️