.實現一個函式,可以左旋字串中的k個字元。 ABCD左旋一個字元得到BCDA ABCD左旋兩個字元得到CDAB
阿新 • • 發佈:2018-12-19
題目:
實現一個函式,可以左旋字串中的k個字元。 ABCD左旋一個字元得到BCDA ABCD左旋兩個字元得到CDAB
程式碼:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> //左旋字串 void Reverse(char*left, char*right) { while (left < right) { char tmp = *left; *left = *right; *right = tmp; left++; right--; } } void Reverse_K(char*str, int k) { int len = strlen(str); Reverse(str, str+len-1);//整體翻轉 Reverse(str, str+len-1-k);//再翻轉前半部分 Reverse(str+len-k,str+len-1);//翻轉後半部分 } int main() { char str1[] = "ABCD"; Reverse_K(str1, 2); printf("%s", str1); system("pause"); return 0; }
執行結果: