博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Binary Tree Level Order Traversal
阅读量:5840 次
发布时间:2019-06-18

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

问题描写叙述:

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

For example:

Given binary tree {3,9,20,#,#,15,7},

3   / \  9  20    /  \   15   7

return its level order traversal as:

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

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

代码:

/** * Definition for binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {public List
> levelOrder(TreeNode root) { //java if(root == null) return new ArrayList<>(); Stack
stack = new Stack
(); stack.add(root); List
levelList = new ArrayList
(); List
> result = new ArrayList
>(); List
> invert_result = new ArrayList
>(); List
tmp = new ArrayList
(); while(!stack.isEmpty()|| !levelList.isEmpty()){ if(stack.isEmpty()){ for(int i=levelList.size()-1; i>=0; i--) stack.push(levelList.get(i)); levelList.clear(); invert_result.add(tmp); tmp = new ArrayList
(); } while(!stack.isEmpty()){ TreeNode node = stack.pop(); tmp.add(node.val); if(node.left !=null) levelList.add(node.left); if(node.right !=null) levelList.add(node.right); } } invert_result.add(tmp); return invert_result; }}

转载于:https://www.cnblogs.com/clnchanpin/p/6770517.html

你可能感兴趣的文章
OpenSSL漏洞凶猛来袭 慧眼恶意代码监测应对有方
查看>>
C语言 喝汽水问题
查看>>
LINUX中搭建DNS服务器,实现正向、反向以及访问不同DNS解析
查看>>
SCCM2012 R2实战系列之十:解决WDS服务无法启动问题(错误1067:进程意外终止)...
查看>>
怎么防止重复发送Ajax
查看>>
ubuntu 下安装 mysql
查看>>
关于k-means聚类算法的matlab实现
查看>>
Git分支2
查看>>
一键安装Gitlab后的备份、迁移与恢复
查看>>
因为本人工作繁忙,精力有限,本博客停止更新。有兴趣的博友可以关注我在CSDN上的主博客...
查看>>
SQL server查看触发器是否被禁用
查看>>
[C++基础]在构造函数内部调用构造函数
查看>>
跟随我在oracle学习php(8)
查看>>
Spring 3.1.0 Hibernate 3.0 Eclipse Spring WEB例子
查看>>
UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
查看>>
求两个集合的交集,并集,差集
查看>>
Kotlin的语法糖(一)基础篇
查看>>
OkHttp源码分析
查看>>
让你的app体验更丝滑的11种方法!冲击手机应用榜单Top3指日可待
查看>>
windows kernel exploitation基础教程
查看>>