1 1字串旋轉 左移,右移x位置 三步反轉

2021-07-13 22:54:09 字數 500 閱讀 5632

給定乙個字串,對其移動,向左或者 向右移動x位置。

這類題對於我們最初學習c語言就是乙個典型題。

大概思路:

1。迴圈x次,每次執行一步左移或右移。時間複雜度o(m*n)。

進一步優化:

三步反轉法---時間複雜度o(n)。

具體思路:

(1)。若左移3位,則將其分為x(1~3),y(3~n)兩部分。

(2)。將兩部分分別反轉。

(3)。 將整體反轉。

例 abcdef 左移3位。

x abc y def

x cba y fed

xy  defabc

下面**照網上學的:

#include

#include

#include

#include

using namespace std;

void reverse(char *left,char *right)  //反轉



1 1字串的旋轉

題目 給定乙個字串,要求將字串的前面若干個字元移到字串的尾部。如有字串 abcdef 將前3個字元移到字串尾部變成 defabc 寫乙個函式實現此功能。解法1 蠻力移位 比如將 a 移動到最後一位,就將 a 賦值給乙個臨時變數,然後把後面n 1個字元均向前移動一位 注意移動的時候由前向後依次進行,否...

《程式設計之法》1 1 字串旋轉

題目 給定乙個字串,左旋轉m個字元,輸出旋轉後的字串。例如 abcdef 左旋轉3個字元後成為 defabc 解決辦法 三步反轉 將 abcdef 看成兩部分 x abc y def 先對x反轉,再對y反轉,然後整體反轉。void reversestring char s,int bg,int ed...

01 09字串旋轉

字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例一 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例二 輸入 s1 aa s2 aba 輸出 false 這題沒有做出來,...