LeetCode-第七題:Reverse Integer

題目

leetCode

完整程序

    #include<stdio.h>
    #include<limits.h> 
    int reverse(int x); 
    int main()
    {
        printf("%d\n",INT_MAX);
        reverse(1534236469);
        return 0;
    }

    int reverse(int x) 
    {
        /*
        *要考慮數字轉換過后上溢的情況 
        */
        int num=x>0?x:-x;

        int total=0;
        int remainder;
        while(num!=0)
        {
            remainder=num%10;
            num=num/10;
            if((INT_MAX-remainder)/10<total)
            {
                return 0;//溢出返回0; 
            }
            printf("%d,remainder=%d,num=%d,total=%d\n",964632435*10,remainder,num,total);
        }    
        if(x<0)
            total=-1*total;
        printf("%d\n",total);
        return total;
    }

后記

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容