diff options
Diffstat (limited to 'recover_BST.cpp')
-rw-r--r-- | recover_BST.cpp | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/recover_BST.cpp b/recover_BST.cpp deleted file mode 100644 index 9120825..0000000 --- a/recover_BST.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - vector<pair<TreeNode *, TreeNode *>> vec; - void recoverTree(TreeNode *root) { - inOrder(root); - if (vec.size() == 1) - swap(vec[0].first->val, vec[0].second->val); - if (vec.size() == 2) - swap(vec[0].first->val, vec[1].second->val); - } - -private: - TreeNode *prev = NULL; - void inOrder(TreeNode *root) { - if (!root) - return; - inOrder(root->left); - if (prev && prev->val > root->val) - vec.push_back({prev, root}); - prev = root; - inOrder(root->right); - } -}; - -int main() {} |