博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
107. Binary Tree Level Order Traversal II Java Solutions
阅读量:5236 次
发布时间:2019-06-14

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

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]]

confused what "{1,#,2,3}" means?

 

/** * 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
> levelOrderBottom(TreeNode root) { List
> res = new ArrayList
>(); Stack
> stack = new Stack
>(); Queue
q = new LinkedList
(); if(root == null) return res; q.add(root); while(!q.isEmpty()){ List
tmp = new ArrayList
(); int size = q.size(); for(int i = 0; i< size; i++){ TreeNode node = q.poll(); tmp.add(node.val); if(node.left != null) q.add(node.left); if(node.right != null) q.add(node.right); } stack.push(tmp); } while(!stack.isEmpty()){ res.add(stack.pop()); } return res; }}

 

转载于:https://www.cnblogs.com/guoguolan/p/5452625.html

你可能感兴趣的文章
snmpwalk命令常用方法总结
查看>>
网站产品设计
查看>>
C++按格式接收输入字符(京东,滴滴,360笔试必用)
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
Java IO流学习总结
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
递归函数,二分运算,正则表达式
查看>>
Flutter之内置动画(转)
查看>>
MySql优化相关概念的理解笔记
查看>>
数据库解决方案
查看>>
DataContract和DataMember的作用
查看>>
js如何获取response header信息
查看>>
python_文件的打开和关闭
查看>>
ADO.NET介绍
查看>>
iOS: 数据持久化方案
查看>>
【C#】【Thread】Monitor和Lock
查看>>