每日LeetCode - 7. 整数反转(C语言和Python 3)

每日LeetCode - 7. 整数反转(C语言和Python 3)

 

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

 

上一篇:实验2-4-6 求幂之和 (15 分)


下一篇:Android aidl Binder框架浅析