二叉树的层次遍历
2014-03-08 20:54
453 查看
题目原型:
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] ]
基本思路:
略
public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); ArrayList<TreeNode> nodeSet = new ArrayList<TreeNode>(); ArrayList<TreeNode> tmp ; ArrayList<Integer> numSet ; if(root!=null) { nodeSet.add(root); while(nodeSet.size()>0) { tmp = new ArrayList<TreeNode>(); numSet = new ArrayList<Integer>(); //添加到list中 for(TreeNode tn : nodeSet) numSet.add(tn.val); list.add(numSet); //求下一层的节点 for(TreeNode it : nodeSet) { if(it.left!=null) tmp.add(it.left); if(it.right!=null) tmp.add(it.right); } nodeSet = tmp; } } return list; }
相关文章推荐
- GRASP (职责分配原则)
- <<OCM实验选讲>> 第六课 数据仓库实验
- asp.net mvc kendo Grid Filter
- java设计模式之简单工厂模式
- opencv 关于 cvCalcHist的含义(1)
- 序言
- (libgdx小结)背景移动(1)
- 程式执行——vb.net
- 第一周:欧几里得求两个数的公约数
- Construct Binary Tree from Inorder and Postorder Traversal(给出中序后序求二叉树)
- Java Socket Server的演进 (一)
- HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴士博弈)
- WsaEventSelect封装的类,多线程
- 安装vsftp
- Java中的i++和i--
- Learning the parts of object by NMF
- <<OCM实验选讲>> 第五课 数据备份恢复实验
- Java中的i++和i--
- 0-1背包详解
- Android开发第一讲之目录结构和程序的执行流程