Leetcode Binary Tree Level Order Traversal 二叉树分层遍历
来源:互联网 发布:af淘宝旗舰店 编辑:程序博客网 时间:2024/05/17 21:47
题目:
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]]
分析:
在遍历的过程中,需要用到队列来存储每一层的节点。
Java代码实现:
/** * 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>> result = new ArrayList<List<Integer>>(); if(root==null) return result; Queue<TreeNode> q = new LinkedList<TreeNode>(); q.offer(root); while(!q.isEmpty()) { int size = q.size(); ArrayList<Integer> temp = new ArrayList<Integer>(); for(int i=0;i<size;i++) { TreeNode node = q.poll(); temp.add(node.val); if(node.left!=null) q.offer(node.left); if(node.right!=null) q.offer(node.right); } result.add(temp); } return result; }}
0 0
- Binary Tree Level Order Traversal 分层遍历二叉树@LeetCode
- Leetcode Binary Tree Level Order Traversal 二叉树分层遍历
- Leetcode Binary Tree Level Order Traversal II 二叉树分层遍历
- LeetCode 102. Binary Tree Level Order Traversal(二叉树分层遍历)
- LeetCode 107. Binary Tree Level Order Traversal II(二叉树分层遍历)
- Leetcode 103 ,Binary Tree Zigzag Level Order Traversal(二叉树Z形分层遍历)
- 【LeetCode-面试算法经典-Java实现】【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】
- 【LeetCode】Binary Tree Level Order Traversal--(二叉树层序遍历)
- LeetCode | Binary Tree Level Order Traversal(二叉树层序遍历)
- leetcode-Binary Tree Level Order Traversal 二叉树层序遍历
- leetcode:Binary Tree Level Order Traversal 二叉树层序遍历
- 【LeetCode笔记】Binary Tree Level Order Traversal 二叉树分层存储
- 【二叉树层次遍历】Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal, 二叉树层级遍历
- Binary Tree Zigzag Level Order Traversal 之字形遍历二叉树
- 【LeetCode】Binary Tree Zigzag Level Order Traversal--- 层序遍历二叉树
- leetCode解题报告之Binary Tree Level Order Traversal II,I(二叉树层次遍历)
- LeetCode(Binary Tree Level Order Traversal, 2,Zigzag)二叉树的层次遍历
- 序列化和反序列化
- IOS音频格式之AMR和WAV互转(更新支持64位)
- 嵌入式 git revert和git reset的区别
- 【分享送书】NGUI全面实践教程V3.8.2 活动开始了!!
- Android代码混淆设置
- Leetcode Binary Tree Level Order Traversal 二叉树分层遍历
- eclipse皮肤怎么修改 eclipse皮肤修改教程
- iOS中多线程原理与runloop介绍
- 嵌入式 git fetch和git pull的区别
- 人脸识别国内外现状及发展
- CDbCriteria 详细便用说明
- ajax实现验证用户名是否已经存在(struts2)
- 装饰者模式-有层次地组织代码
- 4.0,4.1系统手机 @android:color/transparent 显示黑色