Binary Tree Zigzag Level Order Traversal
2015-06-06 22:26
225 查看
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7] ]
confused what
"{1,#,2,3}"means? >
read more on how binary tree is serialized on OJ.
<span style="font-size:14px;">public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> ret = new ArrayList<List<Integer>>(); if (root == null) return ret; Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(root); int count = 0; while(!queue.isEmpty()) { List<Integer> list = new ArrayList<Integer>(); List<Integer> listTemp = new ArrayList<Integer>(); int size = queue.size(); for (int i = 0; i < size; i++) { TreeNode node = queue.poll(); list.add(node.val); if (node.left != null) { queue.offer(node.left); } if (node.right != null) { queue.offer(node.right); } } if (count % 2 == 1) { for (int i = list.size() - 1; i >= 0; i--) listTemp.add(list.get(i)); ret.add(listTemp); } else { ret.add(list); } count++; } return ret; } }</span>
相关文章推荐
- 黑马程序员————Map集合类总结、HashMap类、linkedHashMap类、TreeMap类
- 设计模式
- UISlider - iOS - UI基础知识总结9
- Centos下Yum安装PHP5.5,5.6
- 2015百度之星初赛2 1004 魔法因子(暴力+数学)
- 一天一个类--NIO 之Buffer
- 信纸
- C# - 正则表达式
- 使用[NSKeyedUnarchiver unarchiveObjectWithData:data]程序crash
- Convert Sorted Array to Binary Search Tree
- 虚函数表
- 第三方劫持 (外调J/C)
- JuneX_13
- 表格的增删改查
- 抵抗XSS攻击
- 正则表达式
- gtk+学习笔记(八)
- Undefined symbols for architecture arm64
- 如何将从github下载下来的源码引进myeclipse
- bind udp 数据处理