LeetCode:Binary Tree Zigzag Level Order Traversal
2016-06-15 11:41
507 查看
Binary Tree Zigzag Level Order Traversal
Total Accepted: 63108 TotalSubmissions: 216632 Difficulty: Medium
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] ]
Subscribe to see which companies asked this question
Hide Tags
Tree Breadth-first
Search Stack
Hide Similar Problems
(E) Binary Tree Level Order Traversal
思路:
树的层次遍历,模板式的代码。可参考【Binary Tree Level Order
Traversal】和【Binary Tree
Level Order Traversal II】
java code:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<TreeNode>(); List<List<Integer>> ans = new ArrayList<List<Integer>>(); if(root == null) return ans; boolean leftToRight = true; queue.offer(root); while(!queue.isEmpty()) { int size = queue.size(); List<Integer> subAns = new ArrayList<Integer>(size); for(int i=0;i<size;i++) { TreeNode tmp = queue.poll(); subAns.add(i, tmp.val); if(tmp.left != null) queue.offer(tmp.left); if(tmp.right != null) queue.offer(tmp.right); } if(!leftToRight) Collections.reverse(subAns); // 左到右,翻转 leftToRight = !leftToRight; ans.add(subAns); } return ans; } }
相关文章推荐
- leetcode No5. Longest Palindromic Substring
- Spring3+Hibernate4+SpringMVC整合Ext:JSON数据格式传输
- 快学scala笔记.
- MySql错误处理(四)- 错误代码和消息
- java中 list 转 map
- 自定义TextView跑马灯效果可控制启动/停止/速度
- GCC 各工具使用简介
- LeetCode:Binary Tree Level Order Traversal II
- 在jsp页面获得url参数的方法
- hadoop第一天
- Qt的tr函数和中文乱码处理
- brew 版本控制
- 【leetcode】107. Binary Tree Level Order Traversal II
- C#递归算法之分而治之策略
- 关于梦行monxin网络商城如何查询开店邀请码的方法
- 百度的ueditor使用
- 火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题
- c++对象模型研究2:构造函数
- javascript画直线和画圆的方法(非HTML5的方法)
- 《软件工程》课程总结