1. 题目来源
链接:字符串反转
来源:牛客网
2. 题目说明
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:
输入描述:
输入N个字符
输出描述:
输出该字符串反转后的字符串
示例:
输入:
abcd
输出
dcba
3. 题目解析
字符串反转,需要交换首尾字符,设置首尾两个位置start,end,每次交换首尾字符,然后start++, end–, 直到start,end相遇,反转完成。
4. 代码展示
#include <bits/stdc++.h>
using namespace std;
string reverseString(string s) {
if (s.empty())
return s;
size_t start = 0;
size_t end = s.size() - 1;
while (start < end) {
swap(s[start], s[end]);
++start;
--end;
}
return s;
}
int main() {
string s;
getline(cin, s);
cout << reverseString(s) << endl;
return 0;
}