23 lines
406 B
Go
23 lines
406 B
Go
package same_tree
|
|
|
|
/**
|
|
* Definition for a binary tree node.
|
|
* type TreeNode struct {
|
|
* Val int
|
|
* Left *TreeNode
|
|
* Right *TreeNode
|
|
* }
|
|
*/
|
|
func isSameTree(p *TreeNode, q *TreeNode) bool {
|
|
// at least one is nil
|
|
if p == nil || q == nil {
|
|
return p == q
|
|
}
|
|
|
|
// different values
|
|
if p.Val != q.Val {
|
|
return false
|
|
}
|
|
|
|
return isSameTree(p.Left, q.Left) && isSameTree(p.Right, q.Right)
|
|
}
|