字串的翻轉總結

2021-09-19 13:07:12 字數 1355 閱讀 3154

給定乙個字串,如 "csdn",編寫函式返回翻轉為"ndsc"的結果。

不考慮庫函式的情況下,採用遞迴的方式,每次返回從第二位開始的子串(同時遞迴下去) 加上 第一位字元 ,直到遞迴到剩下乙個字元則直接返回即可。

public class solution 

public static string myreverse(string str)

}

給定乙個字串,如:"mp.csdn.net",編寫函式返回其翻轉為"net.csdn.mp"的結果。

思路1:重新定義乙個字串s,迴圈遍歷原字串,然後每遇到乙個"."則反序加在s後面然後補點。當遍歷到最後一位時只反序相加但是不補點。

思路2:借助題目一的解法,把小數點當做拆分點,返回 小數點後面的子串(同時遞迴下去) 加 點 再加 小數點前面的子串。當遍歷到最後也沒有找到小數點的時候,直接返回當前字串即可。

注:str.substring(startindex, endindex) 返回str串下標範圍是 [startindex,endindex) 的子串。

public class solution 

public static string myreverse(string src)

}

給定乙個字元陣列,如"12345",將其右移2位,將變成"45123"。請編寫函式實現並返回字串形式

此題類似於上面的字串翻轉,通過翻轉得到"54321",發現正好是以移位數分割的再次翻轉,因此可以把此字元陣列分為兩部分再次分別翻轉,即可得到目標陣列。

注:字元陣列轉化為字串

①string.valueof(arr);

②new string(arr);

③arrays.tostring(arr); (字元陣列形式)

public class solution ;

int k = 2;

system.out.println(myreverse(arr, k));

} public static string myreverse(char arr, int k)

public static char rever(char arr, int u, int v){

int len = v-u+1;

for(int i=0; i如有錯誤或者不合理的地方,敬請指正~

加油!!

翻轉字串 翻轉單詞字串

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