Binary Tree Level Order Traversal II
来源:互联网 发布:微派网络 融资 编辑:程序博客网 时间:2024/06/05 20:52
import java.util.LinkedList;import java.util.List;import java.util.Queue;/* * 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).For example:Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7return its bottom-up level order traversal as:[ [15,7], [9,20], [3]] * */public class Solution {public static void main(String[] args) {// TODO Auto-generated method stub}//采用DFS深度遍历public List<List<Integer>> levelOrderBottom(TreeNode root) { Queue<TreeNode> que = new LinkedList<>(); List<List<Integer>> list = new LinkedList<List<Integer>>(); if(root == null) return list; que.offer(root);//先将根压入队列 while(!que.isEmpty()){//若队列不为空 int nodenums = que.size();//这一层共有多少个节点 List<Integer> subli = new LinkedList<>(); for(int i = 0;i<nodenums;i++)//对该层的每个节点进行遍历 { if(que.peek().left!=null)//去除队列尾部节点,判断左右节点是否为空,不为空则压入队列,等到下次遍历 que.offer(que.peek().left); if(que.peek().right!=null) que.offer(que.peek().right); subli.add(que.poll().val);//将该节点值加入到链表中 } list.add(0,subli);//将该层值以链表形式加入到外层链表中,并且按要求加入到链表的开头 } return list; }}class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}
0 0
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- [Leetcode]Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- 【读书】《禅与摩托车维修艺术》读后感
- 【Python开发】检测app使用了多少个xib和js的脚本(python)
- 【iOS开发】Mansory自动布局(autolayout)使用教程
- 备份还原工具NetBackUp7.6.1安装配置使用文档
- HDU 5354 Bipartite Graph 分治,并查集
- Binary Tree Level Order Traversal II
- linux多线程之自旋锁
- 百度地图SHA1值
- spring,mybatis事务管理配置与@Transactional注解使用
- Uva-10200 Prime Time 【素数+打表+浮点精度】
- 图论专题周赛回顾
- 2016多校6 hdu5795 博弈 sg函数
- java学习日记_2:java之方法 图文解释
- Android View绘制流程与原理