给你一个二叉树的根节点 root
, 检查它是否轴对称。
示例 1:
解题思路:
双指针递归
# Definition for a binary tree node.
# 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: Optional[TreeNode]) -> bool:
def check(p1, p2):
if not p1 and not p2:
return True
if not p1 and p2:
return False
if not p2 and p1:
return False
return p1.val == p2.val and check(p1.left, p2.right) and check(p1.right, p2.left)
return check(root, root)