题解 | #编写函数实现字符串翻转(引用方式)#
编写函数实现字符串翻转(引用方式)
https://www.nowcoder.com/practice/46eb5bd3ebc544fc96d335c8cb7d30f1
#include <iostream> #include <string> using namespace std; void reverse(string& s); int main() { string str; getline(cin, str); reverse(str); cout << str << endl; return 0; } void reverse(string& s) { // string s1 = s; // int len = s.length(); // for (int i = 0; i < len; ++i) // { // s[i] = s1[len - i - 1]; // } int len = s.length(); // 对半交换 for (int i = 0; i < len / 2; ++i) { char tmp = s[i]; s[i] = s[len - i - 1]; s[len - i - 1] = tmp; } }
主要是只需要原地交换就可以保证整个字符串完成从头到尾的字符交换.
交换到一半即可.