java刷题--102二叉树的层序遍历
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--102二叉树的层序遍历相关的知识,希望对你有一定的参考价值。
题目
代码
class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> res = new ArrayList<List<Integer>>();
LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
if (root == null) return res;
queue.add(root); //从上到下 先加入根节点
while (!queue.isEmpty()) {
//每层新建一个level
List<Integer> level = new ArrayList<Integer>();
int size = queue.size();
for (int i = 0; i < size; i++) {
TreeNode node = queue.removeFirst();
level.add(node.val);
if (node.left != null) queue.add(node.left);
if (node.right != null) queue.add(node.right);
}res.add(level);
}return res;
}
}
结果
以上是关于java刷题--102二叉树的层序遍历的主要内容,如果未能解决你的问题,请参考以下文章
[JavaScript 刷题] 搜索 - 二叉树的层序遍历, leetcode 102
Leetcode刷题100天—102. 二叉树的层序遍历(二叉树)—day09