題目描述
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 "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...