恢复二叉搜索树
给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。
进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?
示例 1:

输入:root = [1,3,null,null,2]
输出:[3,1,null,null,2]
解释:3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。
示例 2:

输入:root = [3,1,4,null,null,2]
输出:[2,1,4,null,null,3]
解释:2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。
提示:
- 树上节点的数目在范围
[2, 1000]内 -231 <= Node.val <= 231 - 1
...全文
相关推荐
算法笔记,恢复二叉搜索树
【恢复二叉搜索树】是算法领域中的一种问题,它涉及到对二叉搜索树的性质的理解和应用。
99恢复二叉搜索树.zip
“99恢复二叉搜索树”涉及的算法主要解决的是一种特定的二叉搜索树问题。
python-leetcode面试题解之第99题恢复二叉搜索树-题解.zip
总结一下,恢复二叉搜索树的题目考察了我们对二叉搜索树特性的理解和中序遍历的运用。在实际面试或工作中,这样的问题能帮助评估候选人在数据结构和算法上的能力。
刻意练习:LeetCode实战 — Task24. 恢复二叉搜索树
恢复二叉搜索树】在编程领域,LeetCode是一个广泛使用的在线平台,它提供了一系列的算法题目来帮助开发者提升技能。这个平台上的Task24,是关于恢复二叉搜索树的问题。
c语言leetcode题解之第99题恢复二叉搜索树.zip
本项目使用C语言解决LeetCode第99题,通过中序遍历检测二叉搜索树中两个被错误交换的节点,并修正其值以恢复BST的正确结构。核心思想利用了BST中序遍历有序性的特性进行异常节点定位。


