题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见实例 2)。
输入描述
输入共 1 行,一个整数N,−10^9≤N≤10^9。
输出描述
输出共 1 行,一个整数,表示反转后的新数。
输入输出样例
示例 1
输入
123
输出
321
示例 2
输入
-380
输出
-83
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
参考答案
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string a;
cin>>a;
bool is_minus = a[0]=='-';
if(is_minus)
a.erase(0,1);
reverse(a.begin(),a.end());
int k = 0;
while (k<a.size()-1 && a[k]=='0')
k++;
if (is_minus)
cout<<'-';
cout<<a.substr(k)<<endl;
}
版权声明:本文为qq_44501429原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。