題目:
給定乙個字串,逐個翻轉字串中的每個單詞輸入: " hello world! "
輸出: "world! hello"
解釋: 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。
本題存在多種解法,我最初的思路是寫乙個分割函式,然後將分割的內容裝入vector
或者stack
中,最後連線成乙個字串。
用sstream最簡單
auto reversewords(std::string s)
if (ans != "")
ans.erase(ans.begin());
return ans;
}
#include #include #include #include #include #include #include templatevoid write_to_cout(container& container, const char* delimiter = " ")
auto my_spilit(std::string& string, const std::string& delimit)
auto i = string.find_first_of(delimit, i_prev);
spilit.emplace_back( string.substr(i_prev, i - i_prev) );
i_prev = i;
}return spilit;
}auto reversewords(std::string string)
std::vectornew_str = my_spilit(string, " ");
for(auto i : new_str)
ans.erase(ans.begin());
return ans;
}int main()
翻轉字串裡的單詞
給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 複製 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。複製 示例 3 輸入 a...
翻轉字串裡的單詞
給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。示例 3 輸入 a good ...
翻轉字串裡的單詞
include include 給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括...