Leetcode:reverse_integer

一、     题目   反转整数。

例1:X =123,则返回321

例2:X =-123,-321返回

    注意:

1、假设整数的末位数是0。应该输出是什么?即。比如10,100。

2、如果输入的是一个32位的整数,则1000000003反转会发生溢出

二、分析

事实上我最初想到的是itoa()和atoi()直接就能够搞定,后来发现不行(可能是我没想到怎么做)

后来发现,事实上我们仅仅须要又一次构造这个数即可了,也就是每次都取得x的末位。将它转化到我们求的数的高位。依次相应,可得解


class Solution {
public:
    int reverse(int x) {
        int flag=0;
        while(x){
        	flag=flag*10+x%10;
        	x/=10;
        }
        return flag;
    }
}


posted @ 2017-06-07 11:53  jzdwajue  阅读(76)  评论(0编辑  收藏  举报