p66 反转整数 (leetcode 7)
Posted repinkply
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了p66 反转整数 (leetcode 7)相关的知识,希望对你有一定的参考价值。
一:解题思路
解析:在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; } }
以上是关于p66 反转整数 (leetcode 7)的主要内容,如果未能解决你的问题,请参考以下文章
7. 反转整数 [leetcode 7: Reverse Integer]