题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入描述:
一个整数 N。
输出描述:
一个整数,表示反转后的新数。
示例1
输入
123
输出
321
示例2
输入
-380
输出
-83
备注:
-1,000,000,000≤N≤1,000,000,000
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
const int N=2e5+10,M=1e3+10;
using namespace std;
signed main()
{
int n;
cin>>n;
string s = to_string(n);
//reverse 使用格式
if(s[0]=='-')
{
reverse(s.begin()+1,s.end());
while(s[1]=='0') s.erase(1,1);
}
else
{
reverse(s.begin(),s.end());
while(s[0]=='0') s.erase(0,1);
}
cout<<s;
}