1、反转字符串
- #include
- #include
- #include
- 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
- #include
- #include
- 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;
- }