作者yam276 (博衣こより的貓)
看板Marginalman
標題Re: [閒聊] 每日LeetCode
時間Thu Sep 22 11:38:13 2022
※ 引述《Rushia (みけねこ的鼻屎)》之銘言:
: 557. Reverse Words in a String III
: 題目:
: 給定一個字串,返回這個字串以"空白分隔"的反轉。
: Example:
: Input: s = "God Ding"
: Output: "doG gniD"
思路:
1. 用getline切
2. 用reverse轉
3. 放進output
4. 後面還有就加空格
都是stl有的東西我不想造輪子==
class Solution
{
public:
string reverseWords(
string input)
{
const char delimiter =
' ';
string output =
"";
stringstream input_stream(input);
while (!input_stream.eof())
{
string sub_str;
getline(input_stream, sub_str, delimiter);
reverse(sub_str.
begin(), sub_str.
end());
output.append(sub_str);
if(!input_stream.eof())
output.append(
" ");
}
return output;
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.172 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1663817895.A.ABB.html
※ 編輯: yam276 (60.248.143.172 臺灣), 09/22/2022 11:38:36
→ Rushia: 不造輪子的話執行時間很難看ㄚ 09/22 11:42
→ yam276: 但考慮實務 造輪子不切實際 真要當輪子大師我就去寫組語了 09/22 11:43
→ yam276: 比起造輪子能根據地形換正確的輪子才是重點 09/22 11:44
推 Neuenmuller: 這個一般來說都是two pointers解ㄅ,實際上寫起來也 09/22 12:21
→ Neuenmuller: 很簡單 而且你這樣做浪費空間,還要copy data 09/22 12:21
→ yam276: 後來改用two pointers了 09/22 14:59