1. 题目

LeetCode101_对称二叉树_LeetCode

2. 题解

# 101
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right


class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
if root is None:
return True
left = root.left
right = root.right
return self.is_equal(left, right)

def is_equal(self, left: TreeNode, right: TreeNode) -> bool:
if left is None and right is not None:
return False
if left is not None and right is None:
return False
if left is None and right is None:
return True
else:
return left.val == right.val and self.is_equal(left.left, right.right) and self.is_equal(left.right, right.left)