二叉树 --5.1.3 Binary Tree Zigzag Level Order Traversal --图解
/**********************************************************************************************************
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 --图解相关推荐
- LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
103. 二叉树的锯齿形层次遍历 103. Binary Tree Zigzag Level Order Traversal 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再 ...
- LeetCode 103. Binary Tree Zigzag Level Order Traversal
LeetCode 103. Binary Tree Zigzag Level Order Traversal Solution1:基于层次遍历的微改 /*** Definition for a bin ...
- 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 ...
- [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 ...
- 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 ...
- 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 ...
- Binary Tree Zigzag Level Order Traversal
跟之前的解法一模一样Binary Tree Level Order Traversal I,II 不赘述 public class Solution {public ArrayList<Arr ...
- 【Breadth-first Search 】103. Binary Tree Zigzag Level Order Traversal
输入:一颗二叉树 输出:这棵树的之字形层次遍历. 规则:之字形层次遍历是指第一层从左到右遍历,第二层从右到左遍历. 分析:这与102的区别就是有从左到右,从右到左遍历的交替过程.我们习惯从左到右遍历. ...
- leetcode第一刷_Binary Tree Zigzag Level Order Traversal
以出现的频率来看.树的层序遍历一定是考察的重点,除非工作人员想找题水数量. zigzag,还是有几道题的,层序的这个非常easy,假设是奇数层.reverse下面就可以.无他.我写的时候预计还不知道这 ...
- 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, ...
最新文章
- python的实例属性和静态属性_Python面向对象之静态属性、类方法与静态方法分析...
- 链表冒泡排序java_055-冒泡排序算法代码实现
- 关联省份与学校的级联HTML,JS实现的省份级联实例代码
- BZOJ4072[Wf2014] baggage
- 机器学习_JS散度详解
- 用js打开新窗口和关闭新窗口
- 计算标准偏差c语言,C ++程序计算标准偏差
- 腾讯微博android版本,腾讯微博
- 第十四篇、贪吃蛇小游戏的制作
- iOS开发app打包
- 块存储、文件存储、对象存储及内容分发CDN
- NPOI使用Excel批注导入数据
- MongoDB与MySQL的插入、查询性能测试
- javascript案例31——简易ATM机、简易银行、存钱取钱。
- 新一代的 Python 包管理工具 -- PDM
- 一年中最后一个月的最后一天说说_一年中最后的一天说说
- Chrome-谷歌浏览器多开教程
- 指挥调度系统内部进行视频会议的方法
- 1-1 统计数字问题
- 50年前的程序员女神,用代码把人类送上月球