Go实现如下

func isSymmetric( root *TreeNode ) bool {
    // write code here
    if root == nil {
        return true
    }
    return doCheckSymmetric(root.Left, root.Right)
}

func doCheckSymmetric(left *TreeNode, right *TreeNode) bool {
    if left == nil && right == nil {
        return true
    }
    if left == nil || right == nil || left.Val != right.Val {
        return false
    }
    return doCheckSymmetric(left.Left, right.Right) && doCheckSymmetric(left.Right, right.Left)
}