0099. 恢复二叉搜索树

0099. 恢复二叉搜索树 #

  • 标签:
  • 难度:中等

一、题目说明 #

描述

给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。

示例

  • 示例 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] 内
  • $-2^{31} <= Node.val <= 2^{31} - 1$

二、解题思路 #