[leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树来回遍历
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]
]
题目

思路
1. use Queue to help BFS
2. once scan current level, make a U-turn, then scan next level
代码
 class Solution {
     public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
         List<List<Integer>> result = new ArrayList<>();
         Queue<TreeNode> queue = new LinkedList<>();
         queue.add(root);
         int level = 0;
         // lever order traversal
         while (!queue.isEmpty()) {
             int size = queue.size();
             List<Integer> list = new ArrayList<>();
             for (int i = 0; i < size; i++) {
                 TreeNode node = queue.remove();
                 if (node != null) {
                     list.add(node.val);8
                     queue.add(node.left);
                     queue.add(node.right);
                 }
             }
             if (!list.isEmpty()) {
                 // make a U-turn
                 if (level % 2 == 1) {
                     Collections.reverse(list);
                 }
                 result.add(list);
             }
             level++;
         }
         return result;
     }
 }
[leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树来回遍历的更多相关文章
- [LeetCode] 103. Binary Tree Zigzag Level Order Traversal  二叉树的之字形层序遍历
		Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ... 
- [leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树Z字形层序遍历
		相对于102题,稍微改变下方法就行 迭代方法: 在102题的基础上,加上一个变量来判断是不是需要反转 反转的话,当前list在for循环结束后用collection的反转方法就可以实现反转 递归方法: ... 
- leetcode 103  Binary Tree Zigzag Level Order Traversal ----- java
		Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ... 
- [LeetCode] 103. Binary Tree Zigzag Level Order Traversal _ Medium tag: BFS
		Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ... 
- Java for LeetCode 103 Binary Tree Zigzag Level Order Traversal
		Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ... 
- leetCode 103.Binary Tree Zigzag Level Order Traversal (二叉树Z字形水平序) 解题思路和方法
		Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ... 
- 103 Binary Tree Zigzag Level Order Traversal 二叉树的锯齿形层次遍历
		给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行).例如:给定二叉树 [3,9,20,null,null,15,7], 3 ... 
- [leetcode] 103 Binary Tree Zigzag Level Order Traversal (Medium)
		原题链接 题目要求以"Z"字型遍历二叉树,并存储在二维数组里. 利用BFS,对每一层进行遍历.对于每一层是从左还是从右,用一个整数型判断当前是偶数行还是奇数行就可以了. class ... 
- Leetcode#103	Binary Tree Zigzag Level Order Traversal
		原题地址 基本数据结构操作,二叉树的层次遍历. 代码: vector<vector<int> > zigzagLevelOrder(TreeNode *root) { vect ... 
随机推荐
- jquery接触初级-----ajax 之:load()方法
			jquery _ajax 请求主要有几种方式:load(),$.get(),$.post(),$.ajax(),$.getScript(),$.getJson() 1.load()方法 格式:load ... 
- aaad
			I remember the wonderful moment you appeared before me, like a fleeting vision, like a genius of pur ... 
- ACM__菜鸟之经典错误
			1:多组输入与单组输入 Input contains multiple test cases. Input contains a single test case. 2: EOF=-1 while( ... 
- C++中 int i 与 int &i 注意事项
			来源:http://blog.csdn.net/qianchenglenger/article/details/16949689 1.int i 传值,int & i 传引用 int i不会回 ... 
- webpack 自动发现 entry 的配置和引用方式
			假定我们的项目目录为如下的样子: - root/ - assets/ - app/ - global.js - index/ - index.js - auth/ - login.js - regis ... 
- 免費查看SQL PLAN的工具 - SQL Sentry Plan Explorer
			今天 Terry大 介紹給小弟這個 SQL Sentry Plan Explorer 工具,可以用來看SQL Plan. 什麼? 用SSMS看不就很清楚了嗎? 這個Tool有把SQL Plan幫我們整 ... 
- Constructor构造方法
			我们写一个car类,并写一个无参构造方法. public class Car { int speed; //构造方法名字和 类一致 区分大小写 不需要写返回值 和参数列表 public Car(){ ... 
- unity3d assetbundle打包策略
			由于assetbundle打包存在依赖的问题,所有资源要进行合理的分包 零.代码 代码都放在本地,包括NGUI等插件的代码.shader代码(内置的shader无需打包,而自定义的shader还是需要 ... 
- Asp.Net WebApi 学习记录(一)
			刚创建的 Asp.Net Web Api 项目,在进行简单的测试时发现返回的 JSON 数据很丑陋.与平时我们使用的 JSON.NET 序列化出来的字符串不一样.通过下面的设置就可以了: // 清除所 ... 
- hdu5391-Zball in Tina Town-威尔逊定理(假证明)
			Tina Town is a friendly place. People there care about each other. Tina has a ball called zball. Zba ... 
