114.M 二叉树展开为链表
思路
Code
func flattenV1(root *TreeNode) {
nodes := helperV1(root)
for i := 0; i < len(nodes)-1; i++ {
nodes[i].Right = nodes[i+1]
nodes[i].Left = nil
}
}
func helperV1(root *TreeNode) []*TreeNode {
if root == nil {
return nil
}
nodes := []*TreeNode{root}
nodes = append(nodes, helperV1(root.Left)...)
nodes = append(nodes, helperV1(root.Right)...)
return nodes
}Last updated