diff --git a/go/same-tree.go b/go/same-tree.go new file mode 100644 index 0000000..b551458 --- /dev/null +++ b/go/same-tree.go @@ -0,0 +1,23 @@ +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) +}