# [99. 恢复二叉搜索树](https://leetcode-cn.com/problems/recover-binary-search-tree) [English Version](/solution/0000-0099/0099.Recover%20Binary%20Search%20Tree/README_EN.md) ## 题目描述 <!-- 这里写题目描述 --> <p>二叉搜索树中的两个节点被错误地交换。</p> <p>请在不改变其结构的情况下,恢复这棵树。</p> <p><strong>示例 1:</strong></p> <pre><strong>输入:</strong> [1,3,null,null,2] 1 / 3 \ 2 <strong>输出:</strong> [3,1,null,null,2] 3 / 1 \ 2 </pre> <p><strong>示例 2:</strong></p> <pre><strong>输入:</strong> [3,1,4,null,null,2] 3 / \ 1 4 / 2 <strong>输出:</strong> [2,1,4,null,null,3] 2 / \ 1 4 / 3</pre> <p><strong>进阶:</strong></p> <ul> <li>使用 O(<em>n</em>) 空间复杂度的解法很容易实现。</li> <li>你能想出一个只使用常数空间的解决方案吗?</li> </ul> ## 解法 <!-- 这里可写通用的实现逻辑 --> <!-- tabs:start --> ### **Python3** <!-- 这里可写当前语言的特殊实现逻辑 --> ```python ``` ### **Java** <!-- 这里可写当前语言的特殊实现逻辑 --> ```java ``` ### **...** ``` ``` <!-- tabs:end -->