#include <iostream>
#include <string>
using namespace std;
class Solution {
public:
// 翻转函数
void reverse(string &str, int begin, int end)
{
while (begin < end)
{
char temp = str[begin];
str[begin] = str[end];
str[end] = temp;
begin++;
end--;
}
}
string LeftRotateString(string str, int n)
{
int firstBegin = 0;
int firstEnd = n - 1;
int secondBegin = n;
int secondEnd = str.size() - 1;
reverse(str,firstBegin, firstEnd);
reverse(str,secondBegin, secondEnd);
reverse(str,firstBegin, secondEnd);
return str;
}
string rightRotateString(string str, int n)
{
int firstBegin = 0;
int firstEnd = n - 1;
int secondBegin = n;
int secondEnd = str.size() - 1;
reverse(str, firstBegin, secondEnd);
reverse(str, firstBegin, firstEnd);
reverse(str, secondBegin, secondEnd);
return str;
}
};
简单算法(字符串左旋转和右旋转)
最新推荐文章于 2022-08-25 14:42:11 发布