C语言
使用long类型:
#include "math.h" int reverse(int x){ int max = pow(2,31)-1; int min = pow(2,31)*-1; long n=0; while (x!=0){ n = n*10 + x%10; x = x/10; } if (n>=min && n <= max) return n; else return 0; }
只使用int,不使用long类型:
#include "math.h" int reverse(int x){ int max = pow(2,31)-1; int min = pow(2,31)*-1; int n=0; while (x!=0){ if (n>max/10 || n<min/10){ return 0; } else{ n = n*10 + x%10; x = x/10; } } return n; }
Python 3
class Solution: def reverse(self, x: int) -> int: n=0 while x!=0: n=n*10+x%10 x=x/10 return n if n!=None else 0