字串翻轉

2022-02-10 05:44:06 字數 1319 閱讀 7671

題目:輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入「it's a good day.」,則輸出「day. good a it's」

思路1:先翻轉整個字串,然後從首字母開始,每掃瞄乙個單詞(遇到空格),翻轉乙個單詞

/**

* 字串翻轉

* 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入「it's a good day.」,則輸出「day. good a it's」

* 思路:先翻轉整個字串,然後從首字母開始,每掃瞄乙個單詞(遇到空格),翻轉乙個單詞**

@param

input

* @return

*/public

string reverse(string input)

}reverse(output, i, output.length);

//reverse(output, , output.length);

return

string.valueof(output);

}/*** 翻轉整個字元陣列**

@param

input

* @param

begin

* @param

end

*/private

void reverse(char input, int begin, int

end)

}

思路2:建立乙個字元陣列,逆序遍歷整個字串,依次將掃瞄到的單詞(遇到空格)存放到字元陣列中

/**

* 字串翻轉

* 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入「it's a good day.」,則輸出「day. good a it's」

* 思路:建立乙個字元陣列,逆序遍歷整個字串,依次存將掃瞄到的單詞(遇到空格)存放到字元陣列中

* @param

input

* @return

*/public

string reverse(string input)

output[current++] = ' ';

end =i;}}

begin = 0;

while (begin return

string.valueof(output);

}

翻轉字串 翻轉單詞字串

將一句話裡面的單詞進行倒置,標點符號不倒換。比如一句話 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...