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