题目描述
解题思路
对称二叉树的特点是,左子树的左节点等于右子树的右节点,左子树的右节点等于右子树的左节点。
递归遍历树的节点,满足对称条件的即为对称二叉树。
解题步骤
- 当左右节点度不存在,直接return true;
- 若左右节点都存在,满足“左右节点值相等 && 递归左子树 && 递归右子树”条件,直接返回true;
- 剩余情况(只有一个节点存在),直接返回false;
Coding
var isSymmetric = function(root) {
if(!root) return true;
const checkSame = (left,right) => {
//左右节点不存在,叶子节点为true
if(!left && !right){
return true;
}
//左右节点存在
if(left && right){
return left.val == right.val && checkSame(left.left,right.right) && checkSame(left.right,right.left)
}
return false;
}
return checkSame(root.left,root.right)
};