Files
Hot-100-Algorithm/二叉树/二叉树展开为链表/main.go
2025-08-26 06:18:10 +08:00

42 lines
659 B
Go

package main
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func main() {
}
func flatten(root *TreeNode) {
var helper func(root *TreeNode) []int
helper = func(root *TreeNode) []int {
if root == nil {
return []int{}
}
tmp := make([]int, 0)
tmp = append(tmp, root.Val)
tmp = append(tmp, helper(root.Left)...)
tmp = append(tmp, helper(root.Right)...)
return tmp
}
res := helper(root)
cur := root
for i := 0; i < len(res); i++ {
if i == 0 {
cur.Left = nil
continue
}
cur.Left = nil
tmpNode := &TreeNode{
Val: res[i],
Left: nil,
Right: nil,
}
cur.Right = tmpNode
cur = tmpNode
}
}