/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isSymmetric(root *TreeNode) bool {
//左子树的左孩子和右子树的右孩子对称
if root==nil{
return true
}
return ismirror(root.Left, root.Right)
}
func ismirror(l *TreeNode, r *TreeNode) bool{
if l==nil &&r==nil{
return true
}
if (l==nil&&r!=nil) || (l!=nil&&r==nil){
return false
}
if l.Val!=r.Val{
return false
}
res := ismirror(l.Left, r.Right)
if res==false{
return false
}
res = ismirror(l.Right, r.Left)
if res==false{
return false
}
return true
}