- 浏览: 19076 次
- 性别:
- 来自: 北京
文章分类
最新评论
题目描述
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]
]
解题思路
本题是在Binary Tree Level Order Traversal题的基础上进行修改得到的,只是在代码中加入了一条语句(对List进行逆序操作)。
相关知识点
自己的代码
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]
]
解题思路
本题是在Binary Tree Level Order Traversal题的基础上进行修改得到的,只是在代码中加入了一条语句(对List进行逆序操作)。
相关知识点
Collections.reverse(list);//对list进行逆序操作
自己的代码
package leetcode; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Queue; /*class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }*/ public class BinaryTreeLevelOrderTraversalII { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> list = new ArrayList<List<Integer>>(); if(root == null) return list; Queue<TreeNode> queue1 = new LinkedList<TreeNode>(); Queue<TreeNode> queue2 = new LinkedList<TreeNode>(); queue2.add(root); while(!queue2.isEmpty()){ queue1.addAll(queue2); queue2.clear(); List<Integer> tempList = new ArrayList<Integer>(); while(!queue1.isEmpty()){ TreeNode head = queue1.poll(); tempList.add(head.val); if(head.left != null) queue2.add(head.left); if(head.right != null) queue2.add(head.right); } //Collections.sort(tempList); list.add(tempList); } Collections.reverse(list); return list; } public static void main(String[] args) { TreeNode node1 = new TreeNode(3); TreeNode node2 = new TreeNode(9); TreeNode node3 = new TreeNode(20); TreeNode node4 = new TreeNode(15); TreeNode node5 = new TreeNode(17); node1.left = node2; node1.right = node3; node3.left = node4; node3.right = node5; BinaryTreeLevelOrderTraversalII btot = new BinaryTreeLevelOrderTraversalII(); System.out.println(btot.levelOrder(node1).toString()); } }
发表评论
-
Java中String与StringBuffer的区别
2014-10-29 21:07 297String和StringBuffer的区别,网上资料可以说 ... -
String to Integer (atoi)
2014-10-29 17:13 398题目描述 Implement atoi to convert ... -
Implement strStr()
2014-10-28 15:17 284题目描述 Implement strStr(). Retu ... -
Valid Palindrome
2014-10-23 10:32 420题目描述 Given a string, determine ... -
ZigZag Conversion
2014-10-22 19:51 340题目描述 The string "PAYPALIS ... -
Add Binary
2014-10-22 19:43 301题目描述 Given two binary strings, ... -
Longest Common Prefix
2014-10-22 19:44 327题目描述 Write a function to find t ... -
Count and Say
2014-10-22 19:44 346题目描述 The count-and-say sequence ... -
Valid Sudoku
2014-10-21 10:22 355题目描述 Determine if a Sudoku is v ... -
Valid Parentheses
2014-10-21 09:41 323题目描述 Given a string containing ... -
Palindrome Number
2014-10-21 09:41 345题目描述 Determine whether an integ ... -
Length of Last Word
2014-10-21 09:41 357题目描述 Given a string s consists ... -
Minimum Depth of Binary Tree
2014-10-21 09:41 307题目描述 Given a binary tree, find ... -
Remove Nth Node From End of List
2014-10-20 16:36 255题目描述 Given a linked list, remov ... -
Path Sum
2014-10-20 15:37 292题目描述 Given a binary tree and a ... -
Binary Tree Level Order Traversal
2014-10-20 11:03 292题目描述 Given a binary tree, retur ... -
Pascal's Triangle II
2014-10-20 10:07 255题目描述 Given an index k, return t ... -
Pascal's Triangle
2014-10-19 12:24 317题目描述 Given numRows, generate th ... -
Plus One
2014-10-19 11:51 336题目描述 Given a non-negative numbe ... -
Merge Sorted Array
2014-10-18 10:45 397题目描述 Given two sorted integer a ...
相关推荐
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的...102. Binary Tree Leve
Binary Tree Level Order Traversal II Binary Tree Right Side View Invert Binary Tree Binary Search Tree Iterator Binary Tree Zigzag Level Order Traversal Recover Binary Search Tree Same Tree Symmetric ...
leetcode卡 LeetCode 记录一下再LeetCode上刷的题,坚持每天刷一道吧 2017.06.12 打卡[LeetCode 2. Add ...Level Order Traversal II], Tree/BFS 2017.06.20 打卡[LeetCode 324. Wiggle Sort II], S
Now we have a serial of numbers. Please build a Binary Search Tree with them. Then output its level-order traversal.
102-Binary Tree Level Order Traversal199-Binary Tree Right Side View:层次遍历的一个运用树的构造给出前中后序的序列中的两个,构造一棵树。递归。前序 parent left-child right-child中序 left-child parent ...
Traversal II 144 二叉树的前序遍历 145 二叉树的后序遍历 150 逆波兰表达式求值 167 两数之和 II - 输入有序数组 199 二叉树的右视图 每天一算:Binary Tree Right Side View 203 移除链表元素 206 反转
102 Binary Tree Level Order Traversal.js(二叉树级订单Traversal.js) 103 Binary Tree Zigzag Level Order Traversal.js(二叉树之字形级别顺序Traversal.js) 104 Binary Tree.js的最大深度 105从Preorder和...
Binary Search Tree - Java Recursive - Java Iterative - Java Inorder 0099 Recover Binary Search Tree - Java Recursive 0101 Symmetric tree - Java Recursive - Java Iterative - C Recursive - ...
https://leetcode.com/problems/binary-tree-level-order-traversal/ Binary Tree Level Order Traversal 103 https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Binary Tree Zigzag Level ...
leetcode下载 ...Traversal II 136 只出现一次的数字 2019-01-16 144 二叉树的前序遍历 145 二叉树的后序遍历 146 LRU缓存机制 LRU缓存机制 2019-01-25 Made by Jun chen 150 逆波兰表达式求值 167 两数之
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a... You are supposed to output the level order traversal sequence of this BST.
常见的二叉树遍历方式有四种:前序遍历(Pre-order Traversal)、中序遍历(In-order Traversal)、后序遍历(Post-order Traversal)和层序遍历(Level-order Traversal)。 前序遍历(Pre-order Traversal): ...
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a... You are supposed to output the level order traversal sequence of this BST.
lru缓存leetcode LeetCode_Note leetcode 个人笔记 问题清单 [1_two_sum.cpp] [10_regular-expression-matching.cpp] [100_same-tree.cpp] ...[107_binary-tree-level-order-traversal-ii.cpp] [108_convert-sorted
Level Order Traversal 2. Depth First Traversal(Pre-order,Post-order,In-order) 您可以在此处了解有关这些算法的更多信息: 运行项目 1. Clone the repo. 2. Install dependencies using `npm install` or `yarn...
102.binary-tree-level-order-traversal (二叉树的层序遍历) 104.maximum-depth-of-binary-tree (二叉树的最大深度) 105.construct-binary-tree-from-preorder-and-inorder-traversal (从前序与中序遍历序列构造...
Level-Order-Traversal-Logic-Visualization 使用循环队列 :light_bulb: 如果你喜欢这个项目,请点击星星并在 GitHub 上关注我以获取新的项目更新 点击此处查看项目视频 在 LinkedIn 上关注我以获取定期项目更新
leetcode中文版车鸟 一组用python编写的算法。 种类 冒泡排序 插入排序 归并排序 桶排序 计数排序 基数排序 ...balance_binary_tree ...best_time_to_buy_and_sell_stock_II ...binary_tree_level_order_traversal_I
leetcode中文版车鸟 一组用python编写的算法。 种类 冒泡排序 插入排序 归并排序 桶排序 计数排序 基数排序 ...balance_binary_tree ...best_time_to_buy_and_sell_stock_II ...binary_tree_level_order_traversal_I
cout<<" traversal in levelorder ... 广度优先遍历二叉树"; cout求某结点的双亲"; cout<<" calculate the depth of the tree ... 求该树的深度"; cout<<" calculator the leaf of the tree ... 求该树叶子...