热门网站,dom手表官方网站,如何建立一个网站要多少钱,杭州seo技术题目描述#xff1a; 给出一个 32 位的有符号整数#xff0c;你需要将这个整数中每位上的数字进行反转。 示例1#xff1a;
输入: 123
输出: 321示例2#xff1a;
输入: -123
输出: -321示例3#xff1a;
输入: 120
输出: 21我的解法#xff1a;
public int reverse(…题目描述 给出一个 32 位的有符号整数你需要将这个整数中每位上的数字进行反转。 示例1
输入: 123
输出: 321示例2
输入: -123
输出: -321示例3
输入: 120
输出: 21我的解法
public int reverse(int x) {if(x-10 x10) {return x;}int y0;boolean findHead false;boolean isPositive x0?false:true; long temp 0;x Math.abs(x);while (x 0) {int t x%10;if(!findHead t!0) {findHead true;}if(findHead) {temp (long)y*10 t;if(temp Integer.MAX_VALUE) {return 0;}y y*10 t;}x/10;}return isPositive?y:-y;}参考答案解法
public int reverse(int x) {int rev 0;while (x ! 0) {int pop x % 10;x / 10;if (rev Integer.MAX_VALUE/10 || (rev Integer.MAX_VALUE / 10 pop 7)) return 0;if (rev Integer.MIN_VALUE/10 || (rev Integer.MIN_VALUE / 10 pop -8)) return 0;rev rev * 10 pop;}return rev;}明显更简洁并且代码可读性更高。持续精进加油