diff --git a/Reverse words/reverse_words.cpp b/Reverse words/reverse_words.cpp new file mode 100644 index 0000000..88772a3 --- /dev/null +++ b/Reverse words/reverse_words.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +std::vector split(std::string input, std::string delimiter = " "){ + ulong pos = 0; + std::vector result; + while((pos = input.find(delimiter)) != std::string::npos){ + result.push_back(input.substr(0, pos)); + input.erase(0, pos + delimiter.length()); + } + // Append remaining element! + result.push_back(input); + return result; +} + +std::string reverse_words(std::string str) +{ + std::vector words = split(str); + std::vector reversed_words; + for(auto word: words){ + std::string reversed(word.rbegin(), word.rend()); + reversed_words.push_back(reversed); + } + std::string result = reversed_words[0]; + for(int i = 1; i