27 lines
463 B
Go
27 lines
463 B
Go
package q101
|
|
|
|
type TreeNode struct {
|
|
Val int
|
|
Left *TreeNode
|
|
Right *TreeNode
|
|
}
|
|
|
|
func traverse(left, right *TreeNode) bool {
|
|
if left == nil && right == nil {
|
|
return true
|
|
}
|
|
if left == nil || right == nil {
|
|
return false
|
|
}
|
|
if left.Val != right.Val {
|
|
return false
|
|
}
|
|
return traverse(left.Left, right.Right) &&
|
|
traverse(left.Right, right.Left)
|
|
}
|
|
|
|
func isSymmetric(root *TreeNode) bool {
|
|
return traverse(root.Left, root.Right)
|
|
}
|
|
|
|
var _ = isSymmetric
|