lc-go/solutions/8/q872/solution.go
2026-01-09 18:00:28 +09:00

34 lines
571 B
Go

package q872
import "slices"
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func leafSeq(node *TreeNode, cache []int) []int {
if cache == nil {
cache = []int{}
}
leaf := true
if node.Left != nil {
leaf = false
cache = leafSeq(node.Left, cache)
}
if node.Right != nil {
leaf = false
cache = leafSeq(node.Right, cache)
}
if leaf {
cache = append(cache, node.Val)
}
return cache
}
func leafSimilar(root1 *TreeNode, root2 *TreeNode) bool {
return slices.Equal(leafSeq(root1, nil), leafSeq(root2, nil))
}
var _ = leafSimilar