leetcode *1609. 奇偶树(周赛209)
【题目】*1609. 奇偶树
输入:root = [1,10,4,3,null,7,9,12,8,6,null,null,2]
输出:true
解释:每一层的节点值分别是:
0 层:[1]
1 层:[10,4]
2 层:[3,7,9]
3 层:[12,8,6,2]
由于 0 层和 2 层上的节点值都是奇数且严格递增,而 1 层和 3 层上的节点值都是偶数且严格递减,因此这是一棵奇偶树。
输入:root = [5,4,2,3,3,7]
输出:false
解释:每一层的节点值分别是:
0 层:[5]
1 层:[4,2]
2 层:[3,3,7]
2 层上的节点值不满足严格递增的条件,所以这不是一棵奇偶树。
输入:root = [5,9,1,3,5,7]
输出:false
解释:1 层上的节点值应为偶数。
输入:root = [1]
输出:true
输入:root = [11,8,6,1,3,9,11,30,20,18,16,12,10,4,2,17]
输出:true
提示:
树中节点数在范围 [1, 10^5] 内
1 <= Node.val <= 10^6
【解题思路1】BFS
class Solution {public boolean isEvenOddTree(TreeNode root) {if(root == null) return true;Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);int level = -1;while(!queue.isEmpty()) {int size = queue.size();level++;int pre;int flag = level % 2;if(flag == 0) { // 偶数层,奇数递增pre = Integer.MIN_VALUE;} else {pre = Integer.MAX_VALUE;}for(int i = 0; i < size; i++) {TreeNode temp = queue.poll();if(temp.val % 2 == flag) return false;if(flag == 0 && pre >= temp.val) return false;if(flag == 1 && pre <= temp.val) return false;pre = temp.val;if(temp.left != null) queue.offer(temp.left);if(temp.right != null) queue.offer(temp.right);}}return true;}
}
leetcode *1609. 奇偶树(周赛209)相关推荐
- 【Leetcode -1609.奇偶树 -1122.数组的相对排序】
Leetcode Leetcode -1609.奇偶树 Leetcode -1122.数组的相对排序 Leetcode -1609.奇偶树 题目:如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : ...
- LeetCode 1609 奇偶树(BFS)
1609. 奇偶树https://leetcode-cn.com/problems/even-odd-tree/ 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ...
- LeetCode 1609. 奇偶树(层序遍历)
文章目录 1. 题目 2. 解题 1. 题目 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类 ...
- LeetCode——1609.奇偶树
大佬,牛!!! 题目:给定一颗二叉树,其中层数从0开始,然后如果满足两个条件,就称为奇偶树,则返回true 奇数层,所有节点必须是偶数,并且严格递减: 偶数层,所有节点必须是奇数,并且严格递增. 思路 ...
- LeetCode 1609 奇偶树
分析 层次遍历,思路比较简单,注意细节即可 代码 class Solution {public:bool isEvenOddTree(TreeNode* root) {queue<TreeNod ...
- leetcode每日一题1609. 奇偶树 圣诞节你做奇偶数了没 BFS套模板一遍过
本文目录 leetcode每日一题1609. 奇偶树 圣诞节你做奇偶数了没 BFS套模板一遍过~ 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在最后 leetcode每日一题1609. 奇 ...
- 【LeetCode】1609. 奇偶树、1122. 数组的相对排序
作者:小卢 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽. --<人民日报> 16 ...
- 模拟卷Leetcode【普通】1609. 奇偶树
1609. 奇偶树 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推. 偶数下标 层上的所有 ...
- 1609. 奇偶树-层次遍历-力扣双百代码
1609. 奇偶树-层次遍历-力扣双百代码 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推 ...
最新文章
- 推荐:介绍一个UndoFramework
- 3dvary灯光材质为什么不亮_夜间跑高速开近光灯与为什么近光灯和刹车泡容易坏。...
- python检索地址_35.leetcode题目讲解(Python): 搜索插入位置
- date 的基本使用 suse
- Spring Data Pivotal Gemfire教程
- 中文python笔记_python 中文编码笔记
- 《网络风险及网络安全》培训总结
- position:fixed定位
- 萌新的Python练习实例100例(一)四个数字组成互不相同且无重复的三位数
- linux url%7b怎么转化成,shell下解码url
- 计算机一级答案文件不存在,全国计算机等级考试一级试题及答案文件.doc
- IIS7.5标识介绍
- 上传文件(ajax结合form表单)
- JBPM工作流(八)——流程实例(PI)Process Instance
- python文本交换_有没有办法用python交换文本文件中的两行文本?
- 学习记录542@阿里云OCR身份证识别具体实现
- 关于运行微信小程序报错 [微信小程序开发者工具] Error: read EBADF
- 20170603学习笔记整理
- 解决透视变换后图片信息丢失的问题,附程序
- openwrt 无线中继设置–固定IP+打印服务器和文件共享
热门文章
- unity打包Android的APK
- 关系模式最小依赖集怎么求_偏最小二乘法的原理与实现
- Fescar 源码解析系列
- MATLAB实现Jacobi和Guass-Seidel迭代法(初学者向)
- 谈编程是个什么玩意儿
- php上传2个文件代码,php文件上传类程序代码(2)
- Exchange/Office365 自动处理脚本:前言
- linux进程控制命令行,linux命令行学习(37):控制进程的方法
- 从苏宁电器到卡巴斯基第36篇:我与卡巴斯基的邂逅(下)(大结局)
- 计算机李长云,11月14日下午_李长云教授应邀作考研专题讲座_学术动态_湖南交通工程学院...