给你一个二叉树的根节点 root , 检查它是否轴对称。

/**
 * Definition for a binary tree node.
 * class TreeNode {
 *     val: number
 *     left: TreeNode | null
 *     right: TreeNode | null
 *     constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
 *         this.val = (val===undefined ? 0 : val)
 *         this.left = (left===undefined ? null : left)
 *         this.right = (right===undefined ? null : right)
 *     }
 * }
 */
 
function isSymmetric(root: TreeNode | null): boolean {
    //把 root 左右子树进行比较即可
    if(root === null) return null
    const left = root.left
    const right = root.right
 
    function check(p: TreeNode | null, q: TreeNode | null): boolean {
        
        if(q === null && p === null) return true
        if(!p || !q|| q.val != p.val) return false 
        
        const left_res = check(p.left,q.right)
        const right_res = check(p.right,q.left)
 
        return left_res && right_res
    }
    return check(left,right)
 
};