# [LeetCode]#897. Increasing Order Search Tree

Environment: Python 3.8

Key technique: TreeNode, function

Given the `root` of a binary search 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 one right child.

Example 1:

`Input: root = [5,3,6,2,4,null,8,1,null,null,null,7,9]Output: [1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]`

Analysis:

1. Refer to the below link for using binarytree module.

2. Search treeNode left side util no value.

3. Add it to new tree and search this value right.

Solution:

`class Solution:    def increasingBST(self, root):        arr = []                def inorder(root):                        if not root:                return []            inorder(root.left)            arr.append(root.val)            inorder(root.right)        inorder(root)                new_root = TreeNode(arr[0])        temp = new_root        for i in range(1,len(arr)):            temp.right = TreeNode(arr[i])            temp = temp.right        return new_root`

Submissions:

Reference:

https://leetcode.com/problems/increasing-order-search-tree/discuss/983084/Python3%3A-inroder-traversal-%2B-List-data-structure

## More from Fatboy Slim

Interesting in any computer science.