题目
- 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
- leetcode链接:https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/
思路
- 递归法
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {boolean}
*/
var isSymmetric = function (root) {
if (!root) return true
const checkSame = (node1, node2) => {
if (!node1 && !node2) {
return true
} else if (node1 && node2) {
return node1.val === node2.val
? checkSame(node1.left, node2.right) &&
checkSame(node1.right, node2.left)
: false
} else {
return false
}
}
return checkSame(root.left, root.right)
}