给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点
示例 1:

输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]
输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]
示例 2:

输入:root = [5,1,7]
输出:[1,null,5,null,7]
方案:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
plists = []
def check(self,root):
if(root == None):
return
self.check(root.left)
self.plists.append(root.val)
self.check(root.right)
def increasingBST(self, root):
self.plists = []
self.check(root)
n = TreeNode()
q = n
for i in self.plists:
n.right = TreeNode()
n = n.right
n.val = i
return q.right
该博客讨论了如何将二叉搜索树按照中序遍历的顺序重新排列,形成一个递增顺序的搜索树。内容包括具体的操作示例和可能的解决方案。

369

被折叠的 条评论
为什么被折叠?



