#include<iostream>
#include<string>
#include<stack>
using namespace std;
//方法一:利用入栈出栈
void StringReverse_1(string &str)
{
stack<char> sta;
for (int i = 0; i < str.length(); i++)
sta.push(str[i]);
for (int j = 0; !sta.empty(); j++)
{
str[j] = sta.top();
sta.pop();
}
}
//方法二:前后两两交换,就地解决
void StringReverse_2(string &str)
{
if (!str.empty())
{
for (int i = 0, j = str.length() - 1; i != j; i++, j--)
{
char temp;
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
int main()
{
string str;
cout << "输入要逆置的字符串:" << endl;
getline(cin, str);
StringReverse_1(str);//StringReverse_2(str);
cout << str << endl;
return 0;
}