1、反转字符串
#include<iostream>
#include<vector>
#include<string>
using namespace std;
void ReverseString(string &s) {
for (int i = 0, j = s.size() - 1; i < s.size() / 2; i++, j--) {
swap(s[i], s[j]);
}
}
void main() {
string s = "asdfg";
ReverseString(s);
cout << "the output value is: " << s << endl;
cout << "hello world" << endl;
}
2、反转字符串
分段反转字符串,在字符串中,从前向后遍历,每隔2k个字符的前k个字符需要反转,如果剩下的字符小于k个,则反转剩下的所有字符,如果剩下的字符小于2k且大于等于k个,则反转前k个字符。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
void ReverseString(string &s, int k) {
for (int i = 0; i < s.size(); i += (2 * k)) {
if (i + k <= s.size()) {
reverse(s.begin() + i, s.begin()+i+k);
continue;
}
reverse(s.begin() + i, s.begin() + s.size());
}
}
void main() {
string s = "asdfghjkl";
int k = 3;
ReverseString(s,k);
cout << "the output value is: " << s << endl;
cout << "hello world" << endl;
}