解题方法
通过递归从上到下判断对称的两个节点是否符合对称二叉树
比如说对于根节点,根节点的左右子树是对称的,所以要判断这两个节点是不是符合对称的条件。 递归的整个过程都是在判断对称的两个节点是不是满足了对称的条件
解题(递归法)
var isSymmetric = function (root) {
//根节点为空,则是对称二叉树
if(!root){
return true
}
//判断两个节点是否是对称的函数
function back(nodeL,nodeR){
if(!nodeL&&!nodeR){
return true
}
if(!nodeL||!nodeR){
return false
}
return (nodeL.val==nodeR.val)&&back(nodeL.left,nodeR.right)&&back(nodeL.right,nodeR.left)
}
//调用函数
return back(root.left,root.right)
}
总结
这道题和100. 相同的树 - 力扣(LeetCode)有相似之处,都是判断两棵树是否满足条件。相同的树判断的是两棵树是否完全相同,对称二叉树判断的是两棵树是否完全对称。