LINTCODE69 :二叉树的层次遍历
来源:互联网 发布:交大昂立网络教育 编辑:程序博客网 时间:2024/06/09 18:02
/*
@Copyright:LintCode
@Author: cindyyao
@Problem: http://www.lintcode.com/problem/binary-tree-level-order-traversal
@Language: Java
@Datetime: 17-03-14 04:49
*/
/**
* Definition of TreeNode:
* public class TreeNode {
* public int val;
* public TreeNode left, right;
* public TreeNode(int val) {
* this.val = val;
* this.left = this.right = null;
* }
* }
*/
public class Solution {
/**
* @param root: The root of binary tree.
* @return: Level order a list of lists of integer
*/
public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) {
// write your code here
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
if (root == null) {
return result;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
int size = queue.size();
ArrayList<Integer> level = new ArrayList<Integer>();
for (int i = 0; i < size; i++) {
TreeNode currNode = queue.poll();
level.add(currNode.val);
if (currNode.left != null) {
queue.offer(currNode.left);
}
if (currNode.right != null) {
queue.offer(currNode.right);
}
}
result.add(level);
}
return result;
}
}
@Copyright:LintCode
@Author: cindyyao
@Problem: http://www.lintcode.com/problem/binary-tree-level-order-traversal
@Language: Java
@Datetime: 17-03-14 04:49
*/
/**
* Definition of TreeNode:
* public class TreeNode {
* public int val;
* public TreeNode left, right;
* public TreeNode(int val) {
* this.val = val;
* this.left = this.right = null;
* }
* }
*/
public class Solution {
/**
* @param root: The root of binary tree.
* @return: Level order a list of lists of integer
*/
public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) {
// write your code here
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
if (root == null) {
return result;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
int size = queue.size();
ArrayList<Integer> level = new ArrayList<Integer>();
for (int i = 0; i < size; i++) {
TreeNode currNode = queue.poll();
level.add(currNode.val);
if (currNode.left != null) {
queue.offer(currNode.left);
}
if (currNode.right != null) {
queue.offer(currNode.right);
}
}
result.add(level);
}
return result;
}
}
阅读全文
0 0
- LINTCODE69 :二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历!!!
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 启动Myeclipse报错“Failed to create the Java Virtual Machine”的解决办法
- 指针与数组与函数
- Django基础入门之谈架构
- [Python高效编程]
- 如何去除vue项目中的 # --- History模式
- LINTCODE69 :二叉树的层次遍历
- 第4章 模型(建模、构造基架)
- 配置butterknife:8.4.0注意问题
- charles mac 为什么抓取不了请求
- Redis 虚拟内存(virtual memory)——虚拟内存功能在2.6版本后已经去除
- boundarydevices 编译启动脚本工具
- Android屏幕适配的一点新的心得
- 游戏吃金币+背景
- AndroidStudio SDK Manager.exe 无法打开,一闪而过