实现一个算法来实现反转字符数组的功能。反转的要求如下:
-
将字符数组的字符进行反转,例如 ['b', ' ', 'a', 'r'] 变成 ['r', 'a', ' ', 'b']。
-
将字符数组替换为反转后的数组。
-
读入一行字符串,长度不超过 100,字符串可能含有空格。
输出一行字符串,该字符串为读入字符串的反转字符串。
方法1:不改变字符串内容,只改变输出顺序。
string s("abc d");
cout << s << endl;
for (int i = (int)s.size() - 1; i >= 0; i--)
{
cout << s[i];
}
return 0;
方法2:使用库函数reverse()
注意:要使用头文件#include <algorithm> , 且 reverse() 左闭右开
begin()函数返回一个迭代器,指向字符串的第一个元素.end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置)。
string s("abc d");
cout << s << endl;
reverse(s.begin(), s.end());
cout << s;
return 0;
方法3:使用STL内置函数swap()
string s("abc d");
cout << s << endl;
for (int i = 0; i < s.size() / 2; i++)
{
swap(s[i], s[s.size() - i - 1]);
}
cout << s << '\n';
return 0;