bumpsoo 2024-12-21 01:49:38 +09:00
parent ff130cf848
commit c8e4f3ba14

View file

@ -0,0 +1,23 @@
# https://leetcode.com/problems/reverse-odd-levels-of-binary-tree
from typing import Optional
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def reverseOddLevels(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
def traverse(left: Optional[TreeNode], right: Optional[TreeNode], depth: int):
if left is None or right is None:
return
if depth % 2 == 1:
tmp = left.val
left.val = right.val
right.val = tmp
traverse(left.left, right.right, depth + 1)
traverse(left.right, right.left, depth + 1)
if root is not None:
traverse(root.left, root.right, 1)
return root