一:解题思路
解析:在C++和Java中,-3%10=-3。在Python中,-3%10=7。
方法一:采用一个长整型y来保存结果,每次迭代过程为 y=y*10+x%10。
方法二:如果系统中不允许使用long型,这个时候则需要就要采用方法二。
二:完整代码示例 (C++版和Java版)
第一种方法C++:
class Solution { public: int reverse(int x) { int max = 2147483647; int min = -2147483648; long y = 0; while (x!=0) { y = y * 10 + x % 10; x /= 10; if (y > max || y < min) return 0; } return (int)y; } };
第一种方法Java:
class Solution { public int reverse(int x) { int max=Integer.MAX_VALUE; int min=Integer.MIN_VALUE; long y=0; while(x!=0) { y=y*10+x%10; x/=10; if(y>max||y<min) return 0; } return (int)y; } }
第二种方法C++:
class Solution { public: int reverse(int x) { int max = 2147483647/10; int min = -2147483648/10; int y = 0; while (x!=0) { if (y > max || y < min) return 0; y = y * 10 + x % 10; x /= 10; } return y; } };
第二种方法Java:
class Solution { public int reverse(int x) { int max=Integer.MAX_VALUE/10; int min=Integer.MIN_VALUE/10; int y=0; while(x!=0) { if(y>max||y<min) return 0; y=y*10+x%10; x/=10; } return y; } }
原文地址:https://www.cnblogs.com/repinkply/p/12532608.html
时间: 2024-10-08 17:05:39