101.对称二叉树

对称二叉树

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

示例 1:

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

输入:root = [1,2,2,null,3,null,3]
输出:false

提示:

  • 树中节点数目在范围 [1, 1000] 内
  • -100 <= Node.val <= 100

解析

递归比较左右子树是否镜像对称。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @param {TreeNode} root
* @return {boolean}
*/
var isSymmetric = function (root) {
function isMirror(left, right) {
if (!left && !right) return true;
if (!left || !right) return false;
return (
left.val === right.val &&
isMirror(left.left, right.right) &&
isMirror(left.right, right.left)
);
}

return isMirror(root.left, root.right);
};

镜像对称的条件:两个节点值相同,且左节点的左子树与右节点的右子树对称,左节点的右子树与右节点的左子树对称。


101.对称二叉树
https://leetcode.lz5z.com/101.symmetric-tree/
作者
tickli
发布于
2024年2月12日
许可协议