This commit is contained in:
parent
ff130cf848
commit
c8e4f3ba14
1 changed files with 23 additions and 0 deletions
23
medium/reverse_odd_levels_of_binray_tree.py
Normal file
23
medium/reverse_odd_levels_of_binray_tree.py
Normal 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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue