897. Increasing Order Search Tree

Posted ordili

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了897. Increasing Order Search Tree相关的知识,希望对你有一定的参考价值。

1. Question:

897. Increasing Order Search Tree

url: https://leetcode.com/problems/increasing-order-search-tree/description/

Given a tree, rearrange the tree in in-order so that the leftmost node in the tree is now the root of the tree, and every node has no left child and only 1 right child.

Example 1:
Input: [5,3,6,2,4,null,8,1,null,null,null,7,9]

       5
      /     3    6
   /       2   4    8
 /        /  
1        7   9

Output: [1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]

 1
     2
         3
             4
                 5
                     6
                         7
                             8
                                 9  

Note:

  1. The number of nodes in the given tree will be between 1 and 100.
  2. Each node will have a unique integer value from 0 to 1000.

2. Solution:

# Definition for a binary tree node.
class TreeNode(object):
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None


class Solution(object):

    def inOrder(self, root, path):
        if root is None:
            return
        self.inOrder(root.left, path)
        path.append(root)
        self.inOrder(root.right, path)

    def increasingBST(self, root):
        """
        :type root: TreeNode
        :rtype: TreeNode
        """
        path_node = []
        self.inOrder(root, path_node)

        if len(path_node) <= 0:
            return None

        re_root = path_node[0]
        tail_node = re_root

        for node in path_node[1:]:
            tail_node.left = None
            tail_node.right = node
            tail_node = node

        tail_node.left = None
        tail_node.right = None

        return re_root

 

 

 

以上是关于897. Increasing Order Search Tree的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 897 Increasing Order Search Tree 解题报告

LeetCode.897-递增搜索树(Increasing Order Search Tree)

[leetcode] Increasing Order Search Tree

950. Reveal Cards In Increasing Order

950. Reveal Cards In Increasing Order

Leetcode 950. Reveal Cards In Increasing Order