/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isSymmetricNode(left, right *TreeNode) bool {
if left == nil && right == nil {
return true
}
if left == nil || right == nil || left.Val != right.Val {
return false
}
return isSymmetricNode(left.Left, right.Right) && isSymmetricNode(left.Right, right.Left)
}
func isSymmetric(root *TreeNode) bool {
if nil == root {
return true
}
return isSymmetricNode(root.Left, root.Right)
}