题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。数据范围: − 1 0 50 ≤ � ≤ 1 0 50 , � ≠ 0 −10 50 ≤N≤10 50 ,N =0 输入描述 每 1 1 行一个整数 � N 输出描述 每 1 1 行一个整数,表示反转后的新数. 样例输入 Copy to Clipboard 123 -380 样例输出 Copy to Clipboard 321 -83
时间: 2024-01-17 10:03:17 浏览: 195
整数反转1
这是一个很简单的数字反转问题,可以通过将数字转换成字符串,然后反转字符串再转换成数字来实现。具体的实现可以参考下面的代码:
C++代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cin >> s;
if (s[0] == '-') {
cout << "-";
s = s.substr(1);
}
while (s.size() > 1 && s[0] == '0') {
s = s.substr(1);
}
string t(s.rbegin(), s.rend());
cout << t << endl;
return 0;
}
```
Python代码:
```python
s = input().strip()
if s[0] == '-':
print('-', end='')
s = s[1:]
while len(s) > 1 and s[0] == '0':
s = s[1:]
t = s[::-1]
print(t)
```
注意,上面的代码中,我们需要特别处理负数的情况,即在输出结果之前先输出一个负号,并将原数的负号去掉。同时,我们还需要判断反转后的数字是否以零开头,如果是,就需要将开头的零去掉。
阅读全文