114. 二叉树展开为链表 golang

114. 二叉树展开为链表

给定一个二叉树,原地将它展开为链表。

例如,给定二叉树

    1
   / \
  2   5
 / \   \
3   4   6

将其展开为:

1
 \
  2
   \
    3
     \
      4
       \
        5
         \
          6

Code

func flatten(root *TreeNode)  {
    if root == nil {
        return 
    }
    flatten(root.Left)
    flatten(root.Right)

    temp := root.Left

    root.Right, root.Left = root.Left, nil

    for root.Right != nil {
        root = root.Right
    }

    root.Right = temp 
}
发布了399 篇原创文章 · 获赞 266 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/csdn_kou/article/details/105274514