103. Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:试卷生成软件 编辑:程序博客网 时间:2024/05/21 17:11
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
For example:
Given binary tree [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7]]My code:
public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> result = new LinkedList<List<Integer>>(); Queue<TreeNode> queue = new LinkedList<TreeNode>(); if(root==null) return result; queue.offer(root); int index =0; while(!queue.isEmpty()){ int levelNum = queue.size(); List<Integer> subList = new LinkedList<Integer>(); for(int i=0; i<levelNum; i++) { if(queue.peek().left != null) queue.offer(queue.peek().left); if(queue.peek().right != null) queue.offer(queue.peek().right); if(index%2==0) subList.add(queue.poll().val); else subList.add(0,queue.poll().val); } index +=1; result.add(subList); } return result; }}总结:在普通的层次遍历基础上加了一个判断,记住可以使用add(0,val)实现反序,这一点看了参考答案。
0 0
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- UVa-127 "Accordian" Patience
- spring4+hibernate5+dbcp2+struts2基础配置
- windows Android环境配置
- 让不可见的UGUI组件,只响应Raycast但是不参与GPU绘制的方法,有效降低OverDraw的产生
- 经典算法(2):黄金分割法(Gold)
- 103. Binary Tree Zigzag Level Order Traversal
- LeetCode 86. Partition List
- MYSQL之操作数据库表(一)
- Ubuntu - Use Closest Mirrors
- Thinkphp 3.2.3 隐藏入口文件及模块名称
- Strassen矩阵乘法(分治法续)
- 整理书桌
- 实现atoi函数
- 随笔之java面试二