反转整数

来源:互联网 发布:win7优化软件 编辑:程序博客网 时间:2024/05/11 02:21

一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。

样例

给定 x = 123,返回 321

给定 x = -123,返回 -321

class Solution {
public:
    /*
     * @param n: the integer to be reversed
     * @return: the reversed integer
     */
    int reverseInteger(int n) {
        // write your code here
        int n1,i,k;
        long int n2=0;
             if(n<0)
             n1=-n;
              else n1=n;
           int a[40];
           memset(a,0,sizeof(a));
           if(n<=9&&n>=0) return n;
             else if(n<0&&n>=-9) return -n;
             else{
                   for(i=0;n1!=0;i++)
                      {
                        a[i]=n1%10;
                        n1=floor(n1/10);
                        k=i;
                       }
                   for(i=0;i<=k;i++)
                      {
                        n2=n2*10+a[i];
                       }
         if(n2>2147483648)   return 0;
         else if(n>=0) return n2;
         else return -n2;
                  }
    }
};

笔记:floor()函数,向下取整

原创粉丝点击