对称的二叉树
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
# 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:
def precur(left, right):
if not left and not right:
return(True)
if left.val != right.val:
return(False)
if not left or not right:
return(False)
#上面的代码用来判断某个对称节点是否是对称的
return(precur(left.left, right.right) and precur(left.right, right.left))#递归的先比较left.left和right.right,再比较left.right和right.left,记住这2个是由先后顺序的,别看代码一块写的
return(precur(root.left, root.right) if root else True)#用递归比较左右2边