lc-go/solutions/1/q114/solution.go
2026-01-07 18:04:39 +09:00

35 lines
469 B
Go

package q114
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func fl(node *TreeNode) (head, tail *TreeNode) {
if node == nil {
return nil, nil
}
head, tail = node, node
lhead, ltail := fl(node.Left)
rhead, rtail := fl(node.Right)
if lhead != nil {
node.Left = nil
node.Right = lhead
tail = ltail
}
if rhead != nil {
tail.Right = rhead
tail = rtail
}
return
}
func flatten(root *TreeNode) {
fl(root)
}
var _ = flatten