Leetcode : Reverse Integer

702 ワード

Reverse Integer
Dec 26 '11
Reverse digits of an integer.
Example1: x = 123, return 321 Example2: x = -123, return -321
Note:この問題は比較的簡単で、多くのコンピュータ言語の初級教程の練習問題で遭遇しますが、特殊な状況(x=0)を考慮する必要があります.つまり、プログラミング時に除算に遭遇した場合、除数が「0」であることを考慮する必要があります.
コードは次のとおりです.
class Solution {
public:
    int reverse(int x)
    {
        if (x == 0)
            return 0;

        int absolute = abs(x);

        int flag = x / absolute;

        int nRet = 0;

        while (absolute)
        {
            nRet = nRet * 10 + absolute % 10;
            absolute = absolute / 10;
        }

        return nRet * flag;
    }
};

Note:以上の解法で「オーバーフロー」を考えていない場合!!