1.問題描述
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字幕一樣處理。例如輸入字串 「i am a student.」 則輸出"student. a am i".(來自《劍指offer》)
2.分析
我們可以第一步翻轉句子中所有的字元。比如反轉 i am a student中所有的字元得到 ".tneduts a ma i" 第二步在翻轉每個單詞中字元的順序得到 "student. a am i"就達到了題目的要求.
3. **
void reverse(char* begin,char* end)
while (begin < end)
}void reversesentence(char* data)
char *begin = data;
char *end = data;
while (*end != '\0')
reverse(begin, end - 1);
end = data;
while (*begin != '\0')
else if (*end == '\0' || *end == ' ')
else
}}
翻轉單詞順序
首先將i am boy轉為yob ma i,str 0 與str len 1 交換順序,空間複雜度為o 1 然後yob ma i中每個單詞應用同樣的方法翻轉。function reverse str return strarr.join function reverseword str return...
翻轉單詞順序
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...
翻轉單詞順序
題目 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。示例 3 輸入 a good example 輸出 example goo...