class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def isEvenOddTree(root):
queue = [root]
level = 0
while queue:
# 为了之后递增递减的准备的prev
prev = float('inf') if level % 2 else 0
nxt = []
# 一层的元素都在queue里面
for node in queue:
val = node.val
# 满足规定的条件
if val % 2 == level % 2 or level % 2 == 0 and val <= prev or level % 2 == 1 and val >= prev:
return False
prev = val
if node.left:
nxt.append(node.left)
if node.right:
nxt.append(node.right)
queue = nxt
level += 1
return True
LeetCode 1609 奇偶树
最新推荐文章于 2025-12-09 14:04:42 发布
这篇博客介绍了如何实现检查一棵二叉树的奇数层节点值是否满足递增或递减条件的算法。`isEvenOddTree`函数通过广度优先搜索遍历树,确保每层节点值符合规定顺序,返回布尔值表示树是否满足条件。
219

被折叠的 条评论
为什么被折叠?



