【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
来源:互联网 发布:godaddy新加坡注册域名 编辑:程序博客网 时间:2024/05/16 14:10
【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
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]]
题目大意
给定一棵二叉树自底向下进行层序遍历。
解题思路
对树进行层序遍历,每层的结果放在结果链表的头部。
代码实现
public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}
算法实现类
import java.util.*;public class Solution { public List<List<Integer>> levelOrderBottom(TreeNode root) { List<List<Integer>> list = new LinkedList<>(); if (root == null) { return list; } Deque<TreeNode> cur = new LinkedList<>(); Deque<TreeNode> nxt = new LinkedList<>(); Deque<TreeNode> exc = new LinkedList<>(); TreeNode tmp; cur.add(root); while (!cur.isEmpty()) { List<Integer> layout = new ArrayList<>(); while (!cur.isEmpty()) { tmp = cur.remove(); if (tmp.left != null) { nxt.add(tmp.left); } if (tmp.right != null) { nxt.add(tmp.right); } layout.add(tmp.val); } exc = cur; cur = nxt; nxt = exc; list.add(0, layout); } return list; }}
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。
特别说明
欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/47392965】
2 1
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- 【LeetCode-面试算法经典-Java实现】【102-Binary Tree Level Order Traversal(二叉树层序遍历)】
- 【LeetCode-面试算法经典-Java实现】【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】
- LeetCode | Binary Tree Level Order Traversal II(二叉树层序遍历II)
- [LeetCode]107. Binary Tree Level Order Traversal II--二叉树层序遍历2
- LeetCode-107-Binary Tree Level Order Traversal II(二叉树级序遍历<2>)
- Binary Tree Level Order Traversal II 二叉树按层遍历(反向输出)@LeetCode
- LeetCode OJ 之 Binary Tree Level Order Traversal II (二叉树的层次遍历-二)
- LeetCode 107. Binary Tree Level Order Traversal II(二叉树分层遍历)
- [leetcode-107]Binary Tree Level Order Traversal II(java)
- LeetCode 107 : Binary Tree Level Order Traversal II (Java)
- LeetCode 107 Binary Tree Level Order Traversal II(二叉树的层级顺序遍历2)(*)
- 【LeetCode-面试算法经典-Java实现】【106-Construct Binary Tree from Inorder and Postorder Traversal(构造二叉树II)】
- LeetCode(107) 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(二叉树层序遍历)
- 70.Binary Tree Level Order Traversal II-二叉树的层次遍历 II(中等题)
- 开源中国源码学习(四)——主界面总体认识
- singlefile.py
- 【Leetcode】Edit Distance #72
- FSMC STM32 + FPGA
- 开源中国源码学习(五)——切换皮肤(日间模式和夜间模式)
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- 【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
- 【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】
- hdoj1176免费馅饼【dp】
- 网桥和网桥相连的网络
- 信号
- POJ 2411 Mondriaan's Dream
- 3.1 变量和常量的数据类型;3.1.1 值类型
- hdoj1421搬寝室【dp】