博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Tree Level Order Traversal II(层序遍历2)
阅读量:5249 次
发布时间:2019-06-14

本文共 1353 字,大约阅读时间需要 4 分钟。

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   7

 

return its bottom-up level order traversal as:

[  [15,7],  [9,20],  [3]]

这里要求层序遍历,而且结果是从下往上,不是从上往下。

思路:1.可以继续从上往下添加到list中,最后反过来放到另一个list中返回

    2:使用list中的add(index,element)方法,该方法是往index位置插入元素,该位置上原来的元素以及后面所有元素往后移,这里只需往0处一直插入就行,就会自动往后移。因为插入会移动后面所有元素,所以此时适合linkedList。

代码1:

class Solution {    public List
> levelOrderBottom(TreeNode root) { List
> tem=new ArrayList
>(); if(root==null) return tem; Queue
q=new LinkedList<>(); List
list=new ArrayList<>(); q.add(root); while(!q.isEmpty()){ int size=q.size(); for(int i=0;i
> result=new ArrayList
>(); for(int i=tem.size()-1;i>=0;i--) result.add(tem.get(i)); return result; }}

 

代码2:

public List
> levelOrderBottom(TreeNode root) { List
> tem=new LinkedList
>(); if(root==null) return tem; Queue
q=new LinkedList<>(); List
list=new ArrayList<>(); q.add(root); while(!q.isEmpty()){ int size=q.size(); for(int i=0;i

 

 

转载于:https://www.cnblogs.com/xiaolovewei/p/8074661.html

你可能感兴趣的文章
hihoCoder 1233 : Boxes(盒子)
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
条件断点 符号断点
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
Java基础教程——网络基础知识
查看>>
Kruskal基础最小生成树
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>