LeetCode 102. Binary Tree Level Order Traversal(二叉树分层遍历)
2016-05-23 03:55
405 查看
原题网址:https://leetcode.com/problems/binary-tree-level-order-traversal/
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
return its level order traversal as:
方法:广度优先搜索。
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] ]
方法:广度优先搜索。
/** * 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>> levelOrder(TreeNode root) { List<List<Integer>> results = new ArrayList<>(); if (root == null) return results; TreeNode[] level = new TreeNode[1]; int size = 0; level[size++] = root; while (size > 0) { TreeNode[] next = new TreeNode[size * 2]; int nextSize = 0; Integer[] result = new Integer[size]; results.add(Arrays.asList(result)); for(int i=0; i<size; i++) { result[i] = level[i].val; if (level[i].left != null) next[nextSize++] = level[i].left; if (level[i].right != null) next[nextSize++] = level[i].right; } level = next; size = nextSize; } return results; } }
相关文章推荐
- leetcode #23 in cpp
- Spring概括总结
- 深入了解Windows句柄到底是什么
- 在NLP上,CNN、RNN(认为LSTM等变体也是RNN)、最简单全连结MLP,三者相比,各有何优劣?
- 深入windows的关机消息截获-从XP到Win7的变化
- IDEA 常见问题
- 关于SDWebImage的使用和相关面试题
- LeetCode 101. Symmetric Tree(对称的树)
- IntelliJ IDEA WEB项目的部署配置
- zabbix 安装配置详解
- python创建简单的http服务器
- 机器学习-RBF高斯核函数处理
- Geekband012第十二周笔记分享
- Hibernate_并发(悲观锁&乐观锁)_Demo
- Topic Model 的复杂度计算(时间和空间)
- 分布式文件系统简介
- 以太坊(Ethereum)开发框架 Truffle 入门(二):选择一个以太坊客户端
- Unity实现json格式的序列化并发布
- Hortworks Hadoop 2.4.2安装、配置
- 冗余代码都走开——前端模块打包利器 Rollup.js 入门