描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
格式
输入格式
输入共1 行,一个整数N。
输出格式
输出共1 行,一个整数,表示反转后的新数。
用字符串来处理数值。
反转函数:(include<algorithm>)
reverse(s.begin(), s.end());
上面是原地反转的方法,如果需要反转到别的 string 里面,一样简单:
s1.assign(s.rbegin(), s.rend());
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string s, s1;
cin >> s;
if (s[0] == '-')
{
s1 = s.substr(1);
reverse(s1.begin(), s1.end());
cout << '-';
for (int i = 0; i <= s1.size() - 1; i++)
{
if (s1[i] == '0')
continue;
else
{
cout << s1.substr(i) << endl;
break;
}
}
}
else
{
reverse(s.begin(), s.end());
for (int i = 0; i <= s.size() - 1; i++)
{
if (s[i] == '0')
continue;
else
{
cout << s.substr(i) << endl;
break;
}
}
}
return 0;
}