剑指offer60 把二叉树打印成多行

Posted JavaRecord

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer60 把二叉树打印成多行相关的知识,希望对你有一定的参考价值。


- 题目描述

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

示例1

输入

 {8,6,10,5,7,9,11}

返回值

 [[8],[6,10],[5,7,9,11]]


- 解题思路

按层遍历,cnt 控制每层的节点数

- Java实现

import java.util.ArrayList;

/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;
public TreeNode(int val) { this.val = val;
}
}*/import java.util.Queue;import java.util.LinkedList;public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> ret = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); queue.add(pRoot); while (!queue.isEmpty()) { ArrayList<Integer> list = new ArrayList<>(); int cnt = queue.size(); while (cnt-- > 0) { TreeNode node = queue.poll(); if (node == null) continue; list.add(node.val); queue.add(node.left); queue.add(node.right); } if (list.size() != 0) ret.add(list); } return ret; }}





以上是关于剑指offer60 把二叉树打印成多行的主要内容,如果未能解决你的问题,请参考以下文章

[剑指Offer] 60.把二叉树打印成多行

60剑指offer--把二叉树打印成多行

剑指offer60 把二叉树打印成多行

剑指Offer-60 把二叉树打印成多行

剑指offer系列——59/60.按之字形顺序打印二叉树/把二叉树打印成多行

剑指OFFER 把二叉树打印成多行