LeetCode 107. Binary Tree Level Order Traversal II(二叉树分层遍历)
2016-05-24 00:12
309 查看
原题网址:https://leetcode.com/problems/binary-tree-level-order-traversal-ii/
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
return its bottom-up level order traversal as:
方法:广度优先搜索。
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,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7], [9,20], [3] ]
方法:广度优先搜索。
/** * 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>> levels = new ArrayList<>(); if (root == null) return levels; List<TreeNode> currents = new ArrayList<>(); currents.add(root); while (!currents.isEmpty()) { List<Integer> level = new ArrayList<>(); for(TreeNode current:currents) level.add(current.val); levels.add(0, level); List<TreeNode> nexts = new ArrayList<>(); for(TreeNode current:currents) { if (current.left != null) nexts.add(current.left); if (current.right != null) nexts.add(current.right); } currents = nexts; } return levels; } }
相关文章推荐
- LeetCode 109. Convert Sorted List to Binary Search Tree(链表到二叉搜索树)
- LeetCode 108. Convert Sorted Array to Binary Search Tree(数组转换为二叉搜索树)
- LeetCode 110. Balanced Binary Tree(平衡二叉树)
- 在Windows上编译和调试CoreCLR
- C语言生成随机可逆方阵
- springMVC(13)------springMVC静态资源的访问
- HDU5690-All X-循环节应用
- STM32F1_外部NorFlash存储程序代码
- Maven仓库的理解及配置
- android事件处理-基于监听机制
- STM8L最小系统
- LOJ1282 Leading and Trailing(数论)
- Activity的4种启动模式与应用场景
- c++实验6-矩阵求和
- 1.python的第一步
- 【JAVA】四 JAVA集合 Collection ArrayList LinkedList
- SHELL 详解
- 请确认Web服务器根目录下存在跨域策略文件,服务地址等参数是否正确。
- 将 Tuleap 用于软件项目管理
- 将 Tuleap 用于软件项目管理