/*
將字符串的前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è)字符開始的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開始的,即這里的3即代表字符C,即把ABC右移
return 0;
}
另一種方法: 字符串部分逆序
|