leetcode114二叉树展开为链表

leetcode114 Flatten Binary Tree to Linked List

Posted by BY on October 25, 2019

前言

中间又断更新。

正文

问题来源

本问题来自leetcode上的114题。

问题描述

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

示例 1:

输入:
    1
   / \
  2   5
 / \   \
3   4   6
输出:
1
 \
  2
   \
    3
     \
      4
       \
        5
         \
          6

分析:

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func flatten(root *TreeNode)  {
    if root == nil {
        return
    }
    flatten(root.Left)
    flatten(root.Right)
    tmp := root.Right
    root.Right = root.Left
    root.Left = nil
    for root.Right != nil {
        root = root.Right
    }
    root.Right = tmp
}

总结:

勤思考。

结语

不管怎么样好好加油。