Leetcode 102. Binary Tree Level Order Traversal 二叉树按层遍历 解题报告
来源:互联网 发布:苍空的解放者 知乎 编辑:程序博客网 时间:2024/05/17 02:32
1 解题思想
这道题是说按照按照二叉树的每一层遍历,也就是高度一致的按照左右顺序输出在一个List中。
这道题可以DFS也可以BFS,我写的是DFS。
DFS:在遍历的时候,同时传递高度,按照高度放入到对应的List当中,DFS时需要采用先序遍历的方式进行,这样能保证按层放入的顺序正确。
BFS:记录遍历上一个节点的高度,对于当前节点,如果高度没有变化则直接放入到List当中,如果高度发生变化,则重新开一个List放入节点。
2 原题
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,null,null,15,7], 3 / \ 9 20 / \ 15 7return its level order traversal as:[ [3], [9,20], [15,7]]
3 AC解
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } * * 先序遍历,使用index标识当前的深度,放入对应的List当中就可以了 */public class Solution { List<List<Integer>> result; //先序遍历 public void dfs(int index,TreeNode root){ if(root==null) return ; if(result.size()<=index){ result.add(new ArrayList<Integer>()); } result.get(index).add(root.val); dfs(index+1,root.left); dfs(index+1,root.right); } public List<List<Integer>> levelOrder(TreeNode root) { result=new ArrayList<List<Integer>>(); dfs(0,root); return result; }}
0 0
- Leetcode 102. Binary Tree Level Order Traversal 二叉树按层遍历 解题报告
- leetCode解题报告之Binary Tree Level Order Traversal II,I(二叉树层次遍历)
- Leetcode 103. Binary Tree Zigzag Level Order Traversal 二叉树Zigzag遍历 解题报告
- Leetcode 107. Binary Tree Level Order Traversal II 二叉树层次遍历2 解题报告
- [leetcode] 102. Binary Tree Level Order Traversal 解题报告
- 【LeetCode】102. Binary Tree Level Order Traversal 解题报告
- LeetCode解题报告 102. Binary Tree Level Order Traversal [easy]
- LeetCode 102. Binary Tree Level Order Traversal 解题报告
- [Leetcode] 102. Binary Tree Level Order Traversal 解题报告
- [leetcode]102. Binary Tree Level Order Traversal@Java解题报告
- leetCode 102.Binary Tree Level Order Traversal (二叉树水平遍历) 解题思路和方法
- [LeetCode]Binary Tree Level Order Traversal II,解题报告
- LeetCode-Binary Tree Level Order Traversal-解题报告
- 【LeetCode】Binary Tree Level Order Traversal 解题报告
- 【LeetCode】Binary Tree Level Order Traversal II 解题报告
- 【LeetCode】 Binary Tree Zigzag Level Order Traversal 解题报告
- LeetCode(102) Binary Tree Level Order Traversal解题报告
- LeetCode(103) Binary Tree Zigzag Level Order Traversal解题报告
- EL表达式 (详解)
- C错题练习
- ORA-03113:通信通道的文件结尾 解决办法
- openwrt中的luci界面采用JavaScript回调uci接口函数
- Token ,Cookie和Session的区别--学习笔记
- Leetcode 102. Binary Tree Level Order Traversal 二叉树按层遍历 解题报告
- 大话数据结构
- View 中的getScrollX()方法
- Sqlstate详解
- UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout
- 1.纯净半导体
- JAVA讲义 (二) 流程控制与数组
- Android自定义属性百分比布局
- rop开发