Java [Leetcode 107]Binary Tree Level Order Traversal II

题目描述:文章地址https://www.yii666.com/article/756105.html

Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).文章来源地址:https://www.yii666.com/article/756105.html

For example:
Given binary tree {3,9,20,#,#,15,7},

    3
/ \
9 20
/ \
15 7

return its bottom-up level order traversal as:

[
[15,7],
[9,20],
[3]
]

解题思路:文章来源地址https://www.yii666.com/article/756105.html

运用广度优先搜索方法,运用队列的方法,每次遍历一层的叶节点,并把下一层的叶节点加入到队列中。每次遍历一层节点结束时候,将该层节点组成的list放到整体的list之前,实现由底到高的排列。网址:yii666.com

代码如下:

/**
* 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>> levelOrderBottom(TreeNode root) {
List<List<Integer>> list = new LinkedList<List<Integer>>();
Queue<TreeNode> queue = new LinkedList<TreeNode>();
if(root == null)
return list;
queue.offer(root);
while(!queue.isEmpty()){
int num = queue.size();
List<Integer> levelList = new LinkedList<Integer>();
for(int i = 0; i < num; i++){
if(queue.peek().left != null)
queue.offer(queue.peek().left);
if(queue.peek().right != null)
queue.offer(queue.peek().right);
levelList.add(queue.poll().val);
}
list.add(0, levelList);
}
return list;
}
}

  网址:yii666.com<

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

Java [Leetcode 107]Binary Tree Level Order Traversal II-相关文章

  1. Java [Leetcode 94]Binary Tree Inorder Traversal

  2. Java [Leetcode 144]Binary Tree Preorder Traversal

  3. Java [Leetcode 257]Binary Tree Paths

  4. Java [Leetcode 102]Binary Tree Level Order Traversal

  5. Java [Leetcode 107]Binary Tree Level Order Traversal II

  6. LeetCode第[98]题(Java):Validate Binary Search Tree(验证二叉搜索树)

  7. A multi-faceted language for the Java platform

    最近在研究关于groovy 相关的技术 希望有研究交到研究这方面的朋友Groovy 最新的地址http://www.groovy-lang.org/

  8. java 集合 Se HashTreeSet

    Set接口 Set是Collection的子接口,与List相对 Set集合中的元素的特点是1,无序性 2,无下标3,无重复的元素 Set是个接口,所以无法直接创建对象,要依赖它的实现类来创建对象 Set的实现类有两个,一个是HashSet,另一个是TreeSet输出的结果是Set的成员方法基本上都是继承了collection方法 下

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png