LeetCode: Reverse digits of an integer.

題目描述

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Have you thought about this?

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!

If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.

Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?

Throw an exception? Good, but what if throwing an exception is not an option? You would then have to re-design the function (ie, add an extra parameter).

public class Solution {
    public int reverse(int x) {
        boolean flag=false;
        if(x<0)  //判斷是否是負數,如果是負數進行標記
        {
            x=x*(-1);
            flag=true;
        }
        int num=0;
        while(x!=0)
        {
          num=num*10+x%10;
          x=x/10;
        }
        if(flag==true)//負數的話,num最後需要乘以-1
        {
            return num*(-1);
        }else
            return num;
        
        
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章