反转字符串(杂谈)

反转字符串是个很简单也比较常用的方法

此随笔仅做杂谈,无技术含量

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <string>
 4 using namespace std;
 5 
 6 void myReverse(const string& str) {
 7     char* c_str = (char*)str.c_str();
 8     char* p, * q;
 9     p = c_str;
10     q = c_str + str.size() - 1;
11     while (p < q) {
12         char temp_c = *p;
13         *p = *q;
14         *q = temp_c;
15         p++;
16         q--;
17     }
18 }
19 
20 int main() {
21     string str = "123456789";
22     myReverse(str);    // 反转方式1
23     cout << str << endl;
24     reverse(str.begin() + 2, str.end() - 2);    // 反转方式2
25     cout << str << endl;
26     cout << string(str.rbegin(), str.rend());    // 反转方式3
27     return 0;
28 }

运用迭代器还有更多有趣的写法

这里不一一列出

博客迁移到https://luotianqi777.github.io/
原文地址:https://www.cnblogs.com/bugcreator/p/11178563.html