算法系列——Binary Tree Level Order Traversal
来源:互联网 发布:手机群发短信软件免费 编辑:程序博客网 时间:2024/06/05 10:24
题目描述
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
解题思路
二叉树层次遍历 需要用到队列。先将根节点入队,然后遍历队列,
再分别将队列中的结点的左右子节点入队。依次取队头元素即可。
程序实现
public List<List<Integer>> levelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<TreeNode>(); List<List<Integer>> wrapList = new LinkedList<List<Integer>>(); if(root == null) return wrapList; queue.offer(root); while(!queue.isEmpty()){ int levelNum = queue.size(); List<Integer> subList = new LinkedList<Integer>(); for(int i=0; i<levelNum; i++) { if(queue.peek().left != null) queue.offer(queue.peek().left); if(queue.peek().right != null) queue.offer(queue.peek().right); subList.add(queue.poll().val); } wrapList.add(subList); } return wrapList; }
阅读全文
0 0
- 算法系列——Binary Tree Level Order Traversal
- 算法系列——Binary Tree Level Order Traversal II
- 算法系列——Binary Tree Zigzag Level Order Traversal
- LeetCode102—Binary Tree Level Order Traversal
- 算法:Binary Tree Level Order Traversal
- 算法训练:Binary Tree Level Order Traversal
- LeetCode——Binary Tree Level Order Traversal
- LeetCode——Binary Tree Level Order Traversal II
- Python学习——leetcode(Binary Tree Level Order Traversal)
- LeetCode107——Binary Tree Level Order Traversal II
- LeetCode102——Binary Tree Level Order Traversal
- LeetCode——Binary Tree Level Order Traversal
- LeetCode——Binary Tree Level Order Traversal II
- leetcode——Binary Tree Level Order Traversal
- leetcode 102 —— Binary Tree Level Order Traversal
- leetcode 103 —— Binary Tree Zigzag Level Order Traversal
- leetcode 107 —— Binary Tree Level Order Traversal II
- Binary Tree Zigzag Level Order Traversal——Difficulty:Medium
- 工业产品设计为产品创新加分
- 2017.07.14【NOIP提高组】模拟赛B组
- Adaboost/Xgboost/lightgbm学习及实践
- storm入门简介及WordCount代码解析(一)
- php常用表单验证类
- 算法系列——Binary Tree Level Order Traversal
- 2016年机器学习简要笔记
- bzoj 4668 冷战 按秩合并并查集
- POJ-2387
- 在android studio 中使用apidemos
- reflow(回流)和repaint(重绘)
- QT在VS下的配置
- poj 1208 The Blocks Problem (链表模拟)
- mac搭建SonarQube