26 lines
472 B
Go
26 lines
472 B
Go
package top100liked
|
|
|
|
// https://leetcode.cn/problems/flatten-binary-tree-to-linked-list/description/?envType=study-plan-v2&envId=top-100-liked
|
|
|
|
type TreeNode struct {
|
|
Val int
|
|
Left *TreeNode
|
|
Right *TreeNode
|
|
}
|
|
|
|
func flatten(root *TreeNode) {
|
|
var prev *TreeNode
|
|
var helper func(*TreeNode)
|
|
helper = func(node *TreeNode) {
|
|
if node == nil {
|
|
return
|
|
}
|
|
helper(node.Right)
|
|
helper(node.Left)
|
|
node.Right = prev
|
|
node.Left = nil
|
|
prev = node
|
|
}
|
|
helper(root)
|
|
}
|