LCR 145.判断对称二叉树
go
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func checkSymmetricTree(root *TreeNode) bool {
if root == nil {
return true
}
var trea func(left, right *TreeNode) bool
trea = func(left, right *TreeNode) bool {
if left == nil && right != nil {
return false
} else if right == nil && left != nil {
return false
} else if right == nil && left == nil {
return true
} else if left.Val != right.Val {
return false
}
inside := trea(left.Right, right.Left)
outside := trea(left.Left, right.Right)
return inside && outside
}
return trea(root.Left, root.Right)
}