题目描述
思路分析
使用递归的方法,每次传递镜像的节点进去,compare函数专门用于比对,对不同的条件做不同的处理
代码参考
const isSymmetrical = function (pRoot) {
// write code here
if (!pRoot) return true
const compare = (left, right) => {
// 如果左子树和右子树都为空 返回true
if (!left && !right) return true
// 如果左子树或者右子树有一个为空 返回false
if (!left || !right) return false
// 如果左右子树的值不相等 返回false
if (left.val !== right.val) return false
// 如果左右子树相等,则继续递归调用,将镜像的节点传递
return compare(left.left, right.right) && compare(left.right, right.left)
}
return compare(pRoot.left, pRoot.right)
}
标签:compare,BM31,return,pRoot,right,二叉树,对称,false,left
From: https://www.cnblogs.com/zx529/p/17020758.html