跳到主要内容

2415.反转二叉树的奇数层

链接:2415.反转二叉树的奇数层
难度:Medium
标签:树、深度优先搜索、广度优先搜索、二叉树
简介:给你一棵 完美 二叉树的根节点 root ,请你反转这棵树中每个 奇数 层的节点值。

题解 1 - python

  • 编辑时间:2023-12-15
  • 执行用时:1776ms
  • 内存消耗:22.2MB
  • 编程语言:python
  • 解法介绍:bfs。
class Solution:
def reverseOddLevels(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
if not root: return None
q = [root]
size = 1
level = 0
while q:
node = q.pop(0)
if node.left: q.append(node.left)
if node.right: q.append(node.right)
size -= 1
if size == 0:
size = len(q)
level += 1
if level % 2 != 0:
for i in range(len(q) // 2):
q[i].val, q[len(q) - 1 - i].val = q[len(q) - 1 - i].val, q[i].val
return root