请实现一个函数,用来判断一棵二叉树是不是对称的。
如果一棵二叉树和它的镜像一样,那么它是对称的。
Code
/**
* 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) {
function dfs(p1,p2){
if (!p1 && !p2) return true
if (!p1 || !p2) return false
if (p1.val != p2.val) return false
return dfs(p1.left,p2.right) && dfs(p1.right,p2.left)
}
if (!root) return true //定义空树为对称
return dfs(root.left,root.right)
};