/**********************************************************************************************************
Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from le to right,
then right to le for the next level and alternate between).
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]
    ]
**********************************************************************************************************/

Class Solution{
public:vector<vector<int> > levelOrder(TreeNode * root){vector<vector<int>> reulst;if(root == nullptr) return result;queue<TreeNode*> q;bool left_to_right = true;vector<int> level;q.push(root);q.push(nullptr);//用来分割层while(!q.empty()){TreeNode * cur = q.front();q.pop();if(cur){level.push_back(cur->val);if(node->left) q.push(cur->left);if(node->right) q.push(cur->right);}else{if(left_to_right){result.push_back(level);}else{reverse(level.begin(),level,end());result.push_back(level);}level.clear();left_to_right = !left_to_right;if(q.size() > 0) q.push(nullptr);}    }return result;}
};

使用队列完成对二叉树的遍历,每层的结束使用nullptr作为分割符

参考资料:

LeetCode题解

二叉树 --5.1.3 Binary Tree Zigzag Level Order Traversal --图解相关推荐

  1. LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)

    103. 二叉树的锯齿形层次遍历 103. Binary Tree Zigzag Level Order Traversal 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再 ...

  2. LeetCode 103. Binary Tree Zigzag Level Order Traversal

    LeetCode 103. Binary Tree Zigzag Level Order Traversal Solution1:基于层次遍历的微改 /*** Definition for a bin ...

  3. leetcode103JAVA_[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 lef ...

  4. [leetcode] 103. Binary Tree Zigzag Level Order Traversal @ python

    原题 Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left ...

  5. 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 ...

  6. leetcode【102,103】Binary Tree Level Order Traversal Binary Tree Zigzag Level Order Traversal

    问题描述(102): Given a binary tree, return the level order traversal of its nodes' values. (ie, from lef ...

  7. Binary Tree Zigzag Level Order Traversal

    跟之前的解法一模一样Binary Tree Level Order Traversal I,II  不赘述 public class Solution {public ArrayList<Arr ...

  8. 【Breadth-first Search 】103. Binary Tree Zigzag Level Order Traversal

    输入:一颗二叉树 输出:这棵树的之字形层次遍历. 规则:之字形层次遍历是指第一层从左到右遍历,第二层从右到左遍历. 分析:这与102的区别就是有从左到右,从右到左遍历的交替过程.我们习惯从左到右遍历. ...

  9. leetcode第一刷_Binary Tree Zigzag Level Order Traversal

    以出现的频率来看.树的层序遍历一定是考察的重点,除非工作人员想找题水数量. zigzag,还是有几道题的,层序的这个非常easy,假设是奇数层.reverse下面就可以.无他.我写的时候预计还不知道这 ...

  10. Leetcode 102. Binary Tree Level Order Traversal(二叉树的层序遍历)

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

最新文章

  1. python的实例属性和静态属性_Python面向对象之静态属性、类方法与静态方法分析...
  2. 链表冒泡排序java_055-冒泡排序算法代码实现
  3. 关联省份与学校的级联HTML,JS实现的省份级联实例代码
  4. BZOJ4072[Wf2014] baggage
  5. 机器学习_JS散度详解
  6. 用js打开新窗口和关闭新窗口
  7. 计算标准偏差c语言,C ++程序计算标准偏差
  8. 腾讯微博android版本,腾讯微博
  9. 第十四篇、贪吃蛇小游戏的制作
  10. iOS开发app打包
  11. 块存储、文件存储、对象存储及内容分发CDN
  12. NPOI使用Excel批注导入数据
  13. MongoDB与MySQL的插入、查询性能测试
  14. javascript案例31——简易ATM机、简易银行、存钱取钱。
  15. 新一代的 Python 包管理工具 -- PDM
  16. 一年中最后一个月的最后一天说说_一年中最后的一天说说
  17. Chrome-谷歌浏览器多开教程
  18. 指挥调度系统内部进行视频会议的方法
  19. 1-1 统计数字问题
  20. 50年前的程序员女神,用代码把人类送上月球

热门文章

  1. Android 颜色如何从十六进制如何转成八进制 + 颜色库
  2. python的shelve库
  3. MAC iterm2 常用快捷键大全
  4. [SCOI2016]萌萌哒
  5. python学习笔记:第21天 常用内置模块之collections和time
  6. Luogu 3423 [POI 2005]BAN-银行票据 (多重背包单调队列优化 + 方案打印)
  7. jmeter常用功能
  8. c#:无限极树形结构
  9. 设计模式 - (3)抽象工厂模式(创建型)
  10. Spring 中的事务处理