翻轉字串

2021-09-21 14:17:06 字數 1181 閱讀 5193

本章介紹如何反轉字串,反轉一定範圍的字元,以及旋轉字串

1.給定乙個字串,反轉這個字串;例如 輸入 123 輸出是 321

bool revelstring(char* str)

long length = strlen(str);

for (int i = 0; i < length / 2; i++)

return true;

}

反轉一定範圍的 字串。例如:123456 反轉 2- 4範圍的字元,輸出是 12543

bool revelstring(char *str, int startpoint, int endpoint)

long rang = endpoint - startpoint;

int step = 0;

for (int i = startpoint;i<= startpoint + rang /2;++i)

return true;

}

旋轉字串;

給定乙個字串,要求把字串前面的若干個字元移動到字串的尾部,如把字串「abcdef」前面的2個字元』a』和』b』移動到字串的尾部,使得原字串變成字串「cdefab」。請寫乙個函式完成此功能,要求對長度為n的字串操作的時間複雜度為 o(n),空間複雜度為 o(1)。

思路:根據設定字元的個數 分割開 字串abcdef -> ab 和cdef

分別反轉每一部分; ab -> ba;cdef -> fedc

整體反** bafedc ->cdefab

bool rotationstr(char * str,int count)

long length = strlen(str);

revelstring(str, 0, count - 1);

revelstring(str, count, length - 1);

revelstring(str, 0, length - 1);

return true;

}

翻轉字串 翻轉單詞字串

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