Leet Code OJ 107. Binary Tree Level Order Traversal II [Difficulty: Easy]
Posted Lnho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leet Code OJ 107. Binary Tree Level Order Traversal II [Difficulty: Easy]相关的知识,希望对你有一定的参考价值。
题目:
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},
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>> result=levelOrder(root);
Collections.reverse(result);
return result;
}
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> result=new ArrayList<>();
if(root==null){
return result;
}
List<Integer> one=new ArrayList<>();
one.add(root.val);
result.add(one);
List<List<Integer>> left=levelOrder(root.left);
List<List<Integer>> right=levelOrder(root.right);
for(int i=0;i<left.size()||i<right.size();i++){
List<Integer> item=new ArrayList<>();
if(i<left.size()){
for(Integer k:left.get(i)){
item.add(k);
}
}
if(i<right.size()){
for(Integer k:right.get(i)){
item.add(k);
}
}
result.add(item);
}
return result;
}
}
以上是关于Leet Code OJ 107. Binary Tree Level Order Traversal II [Difficulty: Easy]的主要内容,如果未能解决你的问题,请参考以下文章
Leet Code OJ 235. Lowest Common Ancestor of a Binary Search Tree [Difficulty: Easy]
Leet Code OJ 1. Two Sum [Difficulty: Easy]
Leet Code OJ 223. Rectangle Area [Difficulty: Easy]
Leet Code OJ 338. Counting Bits [Difficulty: Easy]