题目: 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 示例: 输入: [1, 3, null, null, 2] 1 / 3 \ 2 输出: [3, 1, null, null, 2] 3 / 1 \ 2 代码如下: class Solution { public: void recoverTree(TreeNode* root) { vector<int> midorder; stack<TreeNode*> node; TreeNode* p = root