/* 將字符串的前N個(gè)字符平移到字符串的后面,用string的特性實(shí)現(xiàn) */ ![]() #include <iostream> #include <string> using namespace std; string func(string str, int N) { int len = str.length(); if (len==0 || N<=0) return str; if (N > len) N = N % len; string str1; string str2; str1.assign(str, 0, N); //將str中前N個(gè)字符拷貝到str1中 str2.assign(str, N, len-N); //將str從第N+1個(gè)字符開(kāi)始的len-N個(gè)字符賦給當(dāng)前字符串 str = str2 + str1; return str; } int main() { string str = "ABCDE"; cout << func(str, 3) << endl; //輸出:DEABC //這里的3是從1,2,3開(kāi)始的,即這里的3即代表字符C,即把ABC右移 return 0; } 另一種方法: ![]() 字符串部分逆序 |
|
|
來(lái)自: 雪柳花明 > 《C 筆試 算法題準(zhǔn)備》