劍指offer 151 《翻轉字串裡的單詞》

2021-10-18 19:23:28 字數 847 閱讀 2765

題目描述

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 "i am a student. ",則輸出 "student. a am i"。

示例 1:

輸入: "the sky is blue"

輸出: "blue is sky the"

示例 2:

輸入:"  hello world!  "

輸出:"world! hello"

解釋:輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。

思路

主要思路有2點:(1)使用雙指標去除字串頭尾兩端的多餘空格。(2)設定臨時字串變數,儲存非空格字元組成的字串,當該臨時字串為空時進行下一次判斷。將符合要求的字串儲存在vector中,最後再進行遍歷賦值返回結果。**有寫的不好的地方請各位批評指正。

class solution 

vectorstrs;

string temp;

temp.clear();

for (int i = left; i <= right; i++) else

}if (!temp.empty())

reverse(strs.begin(), strs.end());

string ret;

for (int i = 0; i < strs.size() - 1; i++)

ret += strs[strs.size() - 1];

return ret;

}};

劍指Offer 翻轉字串

題目描述 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 解題思路 演算法 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和...

劍指offer 翻轉字串

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student....

劍指offer 翻轉字串

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 解題思路 先將整個字串翻轉,在分別把每個單詞翻轉。class solution end reverse begin...