给你一个二叉树的根节点 root , 检查它是否轴对称。
例:
输入:root = [1,2,2,3,4,4,3] 输出:true
解析:
因为是二叉树,那么一次只需要比较两个节点即可。根节点比较一次,中间节点比较两次,左边节点的左节点和右边节点的右节点,左边节点的右节点和右边节点的左节点。递归。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def isSymmetric(self, root):
"""
:type root: TreeNode
:rtype: bool
"""
def check(node1, node2):
if not node1 and not node2: # 两个节点都不存在
return True
elif not node1 or not node2: # 一个存在一个不存在
return False
if node1.val != node2.val: # 值不相等
return False
return check(node1.left, node2.right) and check(node1.right, node2.left) # 分两次比对,因为是二叉树,一个节点最多有两个子节点。
return check(root, root)



