给定一个二叉搜索树,将其改为平衡(后面会讲)
基本思路都是一样的。你也可以选择别的数作为根节点,而不是中点,这也可以看出答案是不唯一的。
二叉搜索树的中序遍历是一个有序数组
,因此问题很容易就转化为 108. 将有序数组转换为二叉搜索树(简单)
。一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。
小提示 1: 如果不需要是二叉搜索树则不需要排序,否则需要排序。小提示 2: 你也可以不选择中点, 算法需要相应调整,感兴趣的同学可以试试。小提示 3: 链表的操作需要特别注意环的存在。