【LeetCode】No.102. Binary Tree Level Order Traversal -- Java Version
创始人
2024-02-26 20:12:47

题目链接:https://leetcode.com/problems/binary-tree-level-order-traversal/

1. 题目介绍(Binary Tree Level Order Traversal)

Given the root of a binary tree, return the level order traversal of its nodes’ values. (i.e., from left to right, level by level).

【Translate】: 给定二叉树的根,返回其节点值层序遍历。(即从左到右,逐层排列)。

【测试用例】:

示例1:
testcase1

testcase2

【条件约束】:

Constraints

2. 题解

2.1 队列 - 广度优先搜索(BFS)

原题解来自于 sgallivan 的 JS, Python, Java, C++ | Easy BFS Queue Solution w/ Explanation.

二叉树级顺序遍历通常推荐使用队列数据结构的广度优先搜索(BFS)方法。当我们处理一个节点(curr)时,我们将按我们想要遍历的顺序(在本例中,从左到右)将该节点的子节点推到队列的末尾。通过这种方式,我们将在完成遍历该行的同时完成将下一行放入队列。

为了帮助我们跟踪行,我们只需将主循环嵌套在另一个循环中。在外部循环的开始,我们捕获队列长度,它将告诉我们行有多长。然后,我们可以遍历这些节点,每次将它们从队列的前端取出,然后处理任何行尾指令。在这个问题中,这将意味着将当前行数组(row)推到我们的答案数组(ans)上。

我们将继续这个过程,直到队列为空,这时我们将到达二叉树的末尾,并返回ans。

  • Time Complexity: O(N) where N is the number of nodes in the binary tree
  • Space Complexity: O(N) for our answer array
/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List> levelOrder(TreeNode root) {List> ans = new ArrayList<>();if(root == null) return ans;Queue queue = new LinkedList<>();queue.add(root);while(!queue.isEmpty()){int qlen = queue.size();List row = new ArrayList<>();for(int i = 0; i < qlen; i++){TreeNode curr = queue.poll();row.add(curr.val);if (curr.left != null) queue.add(curr.left);if (curr.right != null) queue.add(curr.right);}ans.add(row);}return ans;}
}

act1

3. 参考资料

[1] Java Deque接口 使用方法(栈、队列、双端队列)| CSDN
[2] Java 双端队列,队列,栈 — Deque使用指南 | CSDN

相关内容

热门资讯

应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...