二叉树种类相关问题

87 阅读1分钟

[101. 对称二叉树]

题目描述:

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

运行结果:

1650874224(1).png

代码如下:

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);
}