[101. 对称二叉树]
题目描述:
给你一个二叉树的根节点 root , 检查它是否轴对称。
运行结果:
代码如下:
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 {
function check(leftTree: TreeNode, rightTree: TreeNode): boolean {
if (!leftTree && !rightTree) {
return true;
} else if (leftTree && rightTree && leftTree.val === rightTree.val) {
return (
check(leftTree.left, rightTree.right) &&
check(leftTree.right, rightTree.left)
);
} else {
return false;
}
}
return check(root?.left, root?.right);
}