判断是否是对称二叉树、是否相同的树
101. 对称二叉树
//101. 对称二叉树
func isSymmetricv2(root *TreeNode) bool {
  if root==nil{
    return false
  }
  arr:=[]*TreeNode{root,root}
  for len(arr)>0{
    l:=arr[0]
    r:=arr[1]
    arr=arr[2:]
    if l == nil && r == nil {
      continue
    }
    if l == nil || r == nil {
      return false
    }
    if l.Val != r.Val {
      return false
    }
    arr=append(arr, r.Left)
    arr=append(arr, l.Right)
    arr=append(arr, r.Right)
    arr=append(arr, l.Left)
  }
  return true
}
func isSymmetricV1(root *TreeNode) bool {
  checkisSymmetricV1(root,root)
  return true
}
func checkisSymmetricV1(left,right *TreeNode) bool{
  if left==nil && right==nil{
    return  true
  }
  if left==nil || right==nil{
    return false
  }
  return left.Val==right.Val && checkisSymmetricV1(left.Left,right.Right) && checkisSymmetricV1(left.Right,right.Left)
}100. 相同的树
func isSameTree(p *TreeNode, q *TreeNode) bool {
  if p==nil && q==nil{
    return true
  }
  if p==nil || q==nil{
    return false
  }
  return p.Val==q.Val && isSameTree(p.Right,q.Right) && isSameTree(p.Left,q.Left)
  
}









