题解 | #反转数字#

反转数字

http://www.nowcoder.com/practice/1a3de8b83d12437aa05694b90e02f47a

class Solution {
public:
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    int reverse(int x) {
        int shu[33];
        long long result=0;
        int i;
        int flag=0;
        if(x<0){
            flag=1;
            i=0;
            x=-x;
            while(x!=0){
                shu[i]=x%10;
                x/=10;
                i+=1;
            }
        }
        else if(x==0){
            flag=-1;
        }
        else{
            i=0;
            while(x!=0){
                shu[i]=x%10;
                x/=10;
                i+=1;
            }
        }
        int j;
        for(j=i-1;j>=0;j--){
            result+=shu[j]*pow(10,i-j-1);
            //判断结果溢出
            if(result>INT_MAX||result<INT_MIN){
                return 0;
            }
        }
        if(flag==1){
            result=-result;
        }
        else if(flag==-1){
            result=0;
        }
       return result;// write code here
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务