[leetcode] Level Order Traversal
来源:互联网 发布:传智播客2017java 编辑:程序博客网 时间:2024/06/08 17:50
Level Order Traversal, 代表性的bfs
几个维护的量:
1. queue<TreeNode> curLevel
2. queue<TreeNode> nextLevel
3. List<Integer> item 当前level的东西
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } * 9:58 */public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<List<Integer>>(); if (root==null) return res; Queue<TreeNode> curLvl = new LinkedList<TreeNode>(); Queue<TreeNode> nextLvl = new LinkedList<TreeNode>(); List<Integer> item = new ArrayList<Integer>(); curLvl.add(root); while (!curLvl.isEmpty()) { while (!curLvl.isEmpty()) { TreeNode node = curLvl.remove(); item.add(node.val); if (node.left!=null) nextLvl.add(node.left); if (node.right!=null) nextLvl.add(node.right); } curLvl = nextLvl; nextLvl = new LinkedList<TreeNode>(); res.add(item); item = new ArrayList<Integer>(); } return res; }}
0 0
- [leetcode] Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal
- LeetCode: Binary Tree Zigzag Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal
- [LeetCode]Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Level Order Traversal
- LeetCode Binary Tree Level Order Traversal II
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Level Order Traversal
- LeetCode Binary Tree Level Order Traversal II
- LeetCode Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Level Order Traversal II
- 全新的PRT技术
- Ansible学习之基础(1)
- codevs2292 图灵机游戏
- 工业企业数据库处理代码完整版本——2.匹配样本
- java基础---Stream
- [leetcode] Level Order Traversal
- iOS开发- 以图搜图功能实现 (源码+解析)
- Factorial Trailing Zeroes
- SpinnerAdapter接口
- C语言基础:C语言结构体(7) - 结构体的嵌套使用
- C语言学习笔记1
- QT在ubuntu下无法调试控制台C/C++程序
- JavaScript中slice()和substring()的区别
- 关于ios下arm64 luajitv2.1编译(续)