翻轉單詞順序

2021-06-28 13:37:50 字數 692 閱讀 7293

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...