LeetCode題解(Offer28):判斷二叉樹是否左右對稱(Python)

長行發表於2020-10-01

題目:原題連結(簡單)

標籤:樹、二叉樹、深度優先搜尋

解法時間複雜度空間複雜度執行用時
Ans 1 (Python) O ( N ) O(N) O(N) O ( N ) O(N) O(N)44ms (74.25%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:
    def isSymmetric(self, root: TreeNode) -> bool:
        def dfs(node1, node2):
            if node1 and node2:
                return node1.val == node2.val and dfs(node1.right, node2.left) and dfs(node1.left, node2.right)
            elif node1 or node2:
                return False
            else:
                return True

        return dfs(root.left, root.right) if root else True

相關文章