链接:https://leetcode-cn.com/problems/symmetric-tree
方法一:递归
编程实现要点:
递归终止判断条件
if not left and not right:(如果两者都为空,返回True)
return True
if not (left and right) :(如果一方为空,返回 False)
return False
if left.val != right.val:(如果两者值不相等,返回 False)
return False
具体实现:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
if not root:
return True
# 递归实现
def dfs(left, right):
# 递归终止条件,如果两者都为空
# 如果一方为空
# 如果两者值不相等
if not left and no