diff options
Diffstat (limited to 'cpp/897.cpp')
-rw-r--r-- | cpp/897.cpp | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/cpp/897.cpp b/cpp/897.cpp deleted file mode 100644 index 720847b..0000000 --- a/cpp/897.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Definition for a binary tree node. - * struct TreeNode { - * int val; - * TreeNode *left; - * TreeNode *right; - * TreeNode(int x) : val(x), left(NULL), right(NULL) {} - * }; - */ -class Solution { -public: - std::vector<TreeNode*> result; - - void InOrderTraverse(TreeNode* root) { - if (root->left != nullptr) - InOrderTraverse(root->left); - result.push_back(root); - if (root->right != nullptr) - InOrderTraverse(root->right); - } - - TreeNode* increasingBST(TreeNode* root) { - InOrderTraverse(root); - - const auto end = result.end(); - auto iter1 = result.begin(); - auto iter2 = result.begin() + 1; - for (; iter2 != end; ++iter1, ++iter2) { - const auto node = *iter1; - node->left = NULL; - node->right = *iter2; - } - (*iter1)->left = (*iter1)->right = NULL; - - return result.front(); - } -}; |