코딩테스트/LeetCode
[LeetCode] 151. Reverse Words in a String
ShovelingLife
2024. 7. 2. 12:24
내가 작성한 코드
reverse(s.begin(), s.end());
string str, ans;
for (auto iter = s.begin(); iter != s.end(); iter++)
{
char ch = *iter;
if (ch == ' ')
{
if (str == "")
continue;
reverse(str.begin(), str.end());
ans += str + ' ';
str = "";
}
else
str += ch;
}
reverse(str.begin(), str.end());
if (str == "")
ans.pop_back();
return ans + str;
인터넷에서 퍼온 코드
stringstream st(s);
string word;
vector<string> ans;
while (st >> word)
ans.emplace_back(word);
// Reverse the vector
std::reverse(ans.begin(), ans.end());
string result = "";
for (int i = 0; i < ans.size() - 1; ++i)
result += ans[i] + " ";
return result + ans[ans.size() - 1];