题目网址:OpenJudge - 29:数字反转http://noi.openjudge.cn/ch0105/29/描述
总时间限制: 1000ms
内存限制: 65536kB
描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
输入
输入共 1 行,一个整数 N。
-1,000,000,000 ≤ N≤ 1,000,000,000。
输出
输出共 1 行,一个整数,表示反转后的新数。
输入 | 输出 | |
---|---|---|
样例 #1 | 123 | 321 |
样例 #2 | -380 | -83 |
代码如下:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int N = input.nextInt(); int ans = 0; for (int i = 0;N != 0;i++){ int m = N % 10; N /=10; ans = ans*10 + m; } System.out.println(ans); } }
关于数字反转问题,也可以使用可变字符串求解,若还有其他优质解法,欢迎评论区讨论。
通过本题也可联想到“除K取余法”,相关链接:https://blog.youkuaiyun.com/qq_71203870/article/details/128569149?spm=1001.2014.3001.5501