翻轉吧,字串!

2021-08-28 02:26:13 字數 592 閱讀 7397

(劍指offter 面試題42)

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

/*

解題思路:

第一步,翻轉句子中的所有字元

第二步,翻轉每個單詞中字元的順序

*/#include#includeusing namespace std;

void reverse(string &s, int start, int end) //將字串s中位置為start至end的一段翻轉

}string reversesentence(string sentence) //句子逆序

else if(sentence[end] == ' ' || end == size) //end為空格或末尾,說明查詢到乙個單詞,翻轉

else //end向下查詢空格

}return sentence;

}int main()

return 0;

}

翻轉字串 翻轉單詞字串

將一句話裡面的單詞進行倒置,標點符號不倒換。比如一句話 i come from china.倒換後變成 china.from come i 解析 解決該問題可以分為兩步,第一步全盤置換為 anihc morf emoc i 第二部對每個單詞進行逐步翻轉,如果不是空格,則開始翻轉單詞。具體 如下 in...

字串翻轉

遞迴入門 字串翻 將字串 test 翻轉,變為 tset 解法 遞迴 此題的遞迴跟判斷回文字串的解法原理一樣。只是不是比較兩端字元,而是直接交換。include using namespace std int str turn int low,int high,char p,int length t...

字串翻轉

字串翻轉是常見筆試面試題,記錄下來 include include void reverse const char src char dest intstrlen strlen src while strlen void strrev ms char input char output int le...