본문 바로가기
Leetcode

[LeetCode] Invert Binary Tree 파이썬(recursion)

by YGSEO 2021. 4. 5.
728x90

recursively

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def invertTree(self, root: TreeNode) -> TreeNode:
        def recu(node):
            if node == None:
                return
            recu(node.left)
            recu(node.right)
            
            node.left, node.right = node.right, node.left
            
        recu(root)
        return root

iteratively

class Solution:
    def invertTree(self, root: TreeNode) -> TreeNode:
        st = [root]
        while len(st) > 0:
            node = st.pop()
            if node != None:
                node.left, node.right = node.right, node.left
                
                st.append(node.left)
                st.append(node.right)
        return root

www.youtube.com/watch?v=y9vTFPMDiZw

728x90

댓글