添加新题目
This commit is contained in:
41
二叉树/二叉树展开为链表/main.go
Normal file
41
二叉树/二叉树展开为链表/main.go
Normal file
@@ -0,0 +1,41 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user