041_二叉树展开为单链表
知识点:前序遍历、二叉树、链表
LeetCode第一百一十四题:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/submissions/
语言:GoLang
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
var queue []*TreeNode
func flatten(root *TreeNode) {
if root == nil {
return
}
queue = []*TreeNode{}
traverse(root)
for i := 0; i < len(queue) - 1; i++ {
queue[i].Right = queue[i + 1]
queue[i].Left = nil
}
}
func traverse(root *TreeNode) {
if root == nil {
return
}
queue = append(queue, root)
traverse(root.Left)
traverse(root.Right)
}

浙公网安备 33010602011771号