[LeetCode]Binary Tree Level Order Traversal
来源:互联网 发布:jquery 方法与js种方法 编辑:程序博客网 时间:2024/06/03 19:33
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 binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> levelOrder(TreeNode root) { if(root==null) return res; List<TreeNode> list = new ArrayList<TreeNode>(); list.add(root); levelOrder(list); return res; } private void levelOrder (List<TreeNode> list){ if(list.size()==0) return; List<TreeNode> tn = new ArrayList<TreeNode>(); List<Integer> it = new ArrayList<>(); for(int i=0;i<list.size();i++){ TreeNode treeNode =list.get(i); it.add(treeNode.val); if(treeNode.left!=null){ tn.add(list.get(i).left); } if(treeNode.right!=null){ tn.add(list.get(i).right); } } res.add(it); levelOrder(tn); }}
写法2 参照 戴方勤 LeetCood题解
public class Solution { List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> levelOrder(TreeNode root) { levelOrder(root,0); return res; } private void levelOrder(TreeNode root, int level){ if(root == null) return; if(level==res.size()){ List<Integer> list = new ArrayList<>(); res.add(list); } res.get(level).add(root.val); levelOrder(root.left,level+1); levelOrder(root.right,level+1); }}
0 0
- LeetCode[Tree]: Binary Tree Level Order Traversal
- *(leetcode) Binary Tree Level Order Traversal (tree)
- [leetcode][tree] Binary Tree Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal
- LeetCode: Binary Tree Zigzag Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal
- [LeetCode]Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Level Order Traversal
- LeetCode Binary Tree Level Order Traversal II
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Level Order Traversal
- LeetCode Binary Tree Level Order Traversal II
- [中级数据结构学习笔记]一、Treap
- linux (一)(基础命令及文件相关命令)
- 白话经典算法系列之六 快速排序 快速搞定
- Maven学习笔记——使用Archetype生成项目骨架
- Memcached 及 Redis 架构分析和比较
- [LeetCode]Binary Tree Level Order Traversal
- 黑马程序员——Java基础---IO流(字符流、字节流、转换流、流操作规律)
- python读取文件小结
- c++ 34 虚函数与多态一
- 随机选取一个长度为N的链表(N很大)里的K个元素
- C语言运算符优先级 详细列表
- 由SpringJdbc引发的一点思考
- 二叉树常见问题
- 大数的fibonacci数取余问题