二叉树的锯齿形层次遍历
1、题目描述
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
例如:
给定二叉树 [3,9,20,null,null,15,7],
3/ \9 20/ \15 7
返回锯齿形层次遍历如下:
[[3],[20,9],[15,7]
]
2、解题
使用二叉树的层次遍历即可
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {List<List<Integer>> res = new ArrayList<List<Integer>>() ;if(root == null) {return res;}LinkedList<TreeNode> queue = new LinkedList<TreeNode>();queue.push(root);//true:从右往左, false:从左往右boolean flag = false;while(!queue.isEmpty()) {int levelSize = queue.size();List<Integer> list = new ArrayList<Integer>(levelSize);while(levelSize-- > 0) {TreeNode curNode = queue.poll();list.add(curNode.val);if(curNode.left != null) {queue.offer(curNode.left);}if(curNode.right != null) {queue.offer(curNode.right);}}if(flag && list.size()>1) {//需要翻转数组Collections.reverse(list);}flag = !flag;res.add(list);}return res;}
二叉树的锯齿形层次遍历相关推荐
- lintcode二叉树的锯齿形层次遍历 (双端队列)
题目链接: http://www.lintcode.com/zh-cn/problem/binary-tree-zigzag-level-order-traversal/ 二叉树的锯齿形层次遍历 给出 ...
- 103. 二叉树的锯齿形层次遍历/102. 二叉树的层序遍历
2020-05-24 1.题目描述 二叉树的锯齿形层次遍历 2.题解 对于层次遍历而言,就是广度优先,由于题目要求奇数层逆序,我们可以 1)使用双端队列,奇偶性不同,则出入队列方式不同. 2)对于偶数 ...
- LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
103. 二叉树的锯齿形层次遍历 103. Binary Tree Zigzag Level Order Traversal 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再 ...
- 【Leetcode】103. 二叉树的锯齿形层次遍历
题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...
- 【LeetCode】103# 二叉树的锯齿形层次遍历
题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], ...
- 二叉树的锯齿形层次遍历—leetcode103
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3/ \ ...
- 103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...
- leetcode103. 二叉树的锯齿形层次遍历(bfs)
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行).例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 ...
- leetcode103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...
最新文章
- php调用for循环函数吗,我需要将“函数”与“for循环”结合使用php
- vue Mutation 必须是同步函数 为什么_Vue 开发必须知道的 36 个技巧「近1W字」
- 自言自语(2011.8.1)
- 安卓学习日记:初识Android Studio · java环境配置和AS安装
- 【hihocoder 1312】搜索三·启发式搜索(启发式搜索写法)
- 算力至上?AI芯片大对决
- alibaba 实体转json_JAVA中使用alibaba fastjson实现JSONObject、Object、Json字符串的转换...
- 六石编程学:由库调用没测试到,谈工作粗糙
- Java学习笔记(05)
- Android 系统(44)---多语言
- 阿里内核月报2014年7月-8月
- 39岁阿里P9失业,资产1.5亿,北京4套房!职场人的离职悲喜各不相同
- 图像去模糊系列二 高斯白噪声
- 现在的BAT,就是曾经的外企
- go html vue,[终极巨坑]golang+vue开发日记【三】,登陆界面制作(二)
- Android 判断当前设备是手机还是平板
- windows 9X, 2000, xp所有版本注册表设置大全
- Lucas定理和拓展Lucas定理
- 环回接口是做什么的?
- 安全测试常用几个工具
热门文章
- mysql5.7 only_full_group_by_Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法
- php的_auto,AutoPHPCheck下载
- python导入自定义模块_Python3 导入自定义的包
- 编写程序在窗口中写出自己名字的拼音缩写_各类英文缩写:全称居然这么朴素?网友:最后一个我笑了...
- foreach循环符合就不往下走了_柴油发电机组冷却液循环故障解决方法
- 耗时6年的DK博物科普巨著,全面提升孩子的认知高度
- 超好看的科学科普书,孩子大人都可以看!
- matlab如何求矩阵的转置矩阵,怎么用MATLAB程序求转置矩阵?急需,高手帮忙………………...
- bios是固定在微型计算机上的一块RoM,计算机硬件笔试试题
- 家用简单电线路图_家庭配电箱接线图解 家用配电箱安装方法