把乙個字串左旋k個字元的2種方法

2021-08-01 17:51:31 字數 497 閱讀 6681

第一種是乙個字元乙個字元的左移,把第乙個字元存臨時變數裡面,把後面的字元每乙個往前移動乙個位置,『\0』不移動,然後把臨時變數的值放在『\0』前面的位置。這樣重複k次;

第二種是把需要左移的k個字元逆序,再把剩下的字元逆序,最後再把整體逆序,就得到我們想要的結果了。

第一種方法的實現:

#include

#include

#include

void left_move(char*p,int k)

*(p + len - 1)= tmp;

}}int main()

第二種方法的實現:

//用字串逆序實現旋轉

void reveres_arr(char*left, char*right)

}char* left_move(char*str, int k)

int main()

左旋字串k個字元

常用方法左旋字串 include include include pragma warning disable 4996 void left move char str,int len,int steps str i 1 tmp int main 為了使程式簡便,將字串進行拷貝並與字串相連線,組成乙...

字串左旋k個字元

解決這個問題,有兩種解題思路,首先來說第一種思路,先定義乙個指標指向字串的首位址,再用tmp 儲存首元素,依次把元素往前移,最後把tmp裡的值放在空出來的位置,迴圈k次就實現了左旋k個字元 第二種思路,把字串分成兩部分,先逆置前一部分,再逆置剩下的部分,最後整體逆置,也可實現左旋k個字元。左旋k個字...

左旋字串K個字元

實現乙個函式,可以左旋字串中的k個字元。例如 abcd左旋乙個字元得到bcda abcd左旋兩個字元得到cdab 思路就是把字串複製一遍,就有兩個一模一樣的連續字串,無論左旋多少個,都屬於複製過後的這個字串裡面的一部分,所以只需要擷取出來就好了。實現乙個函式,可以左旋字串中的k個字元。include...