Leetcode-102. Binary Tree Level Order Traversal
来源:互联网 发布:c盘优化驱动器第11遍 编辑:程序博客网 时间:2024/04/24 03:33
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客
——————————————————————————————
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]]这个用两个队列先后维护树的不同层。Your runtime beats 36.62% of java submissions.
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> results = new ArrayList<List<Integer>>(); Queue<TreeNode> queue1 = new LinkedList<TreeNode>();Queue<TreeNode> queue2 = new LinkedList<TreeNode>();queue1.offer(root);while(queue1.peek() != null || queue2.peek() != null){List<Integer> result = null;if(queue1.peek() != null){ result = new ArrayList<Integer>(); while(queue1.peek() != null){ TreeNode node = queue1.poll(); if(node != null) result.add(node.val); if(node.left !=null)queue2.offer(node.left); if(node.right != null)queue2.offer(node.right); } results.add(result);}if(queue2.peek() != null){ result = new ArrayList<Integer>(); while(queue2.peek() != null){ TreeNode node = queue2.poll(); if(node != null) result.add(node.val); if(node.left != null)queue1.offer(node.left); if(node.right != null)queue1.offer(node.right); } results.add(result);}}return results; }}
0 0
- LeetCode 102. Binary Tree Level Order Traversal
- [LeetCode]102.Binary Tree Level Order Traversal
- [Leetcode] 102. Binary Tree Level Order Traversal
- LeetCode --- 102. Binary Tree Level Order Traversal
- [leetcode] 102.Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- Leetcode 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal LeetCode
- [leetcode] 102. Binary Tree Level Order Traversal
- Leetcode 102. Binary Tree Level Order Traversal
- LeetCode *** 102. Binary Tree Level Order Traversal
- LeetCode 102. Binary Tree Level Order Traversal
- LeetCode 102. Binary Tree Level Order Traversal
- leetcode-102. Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- LeetCode 102. Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- LeetCode - 102. Binary Tree Level Order Traversal
- dubbo相关知识
- linux下rwx权限数字解释
- dubbo
- C语言 -- 计算一个数组中每个元素出现的频率
- Windows证书查看
- Leetcode-102. Binary Tree Level Order Traversal
- android Splash简单炫酷UI界面
- Android Uri外部启动app或者notification启动
- 微信小程序 尺寸单位rpx与px,rem相互转换
- Spring源码分析【8】-分布式环境SpringSecurity保持用户会话
- JSP基础(2)
- 喜
- MySQL DATE_FORMAT()函数
- Kotlin - ==、===和equals