Leetcode-數(shù)字反轉(zhuǎn)

給定一個 32 位有符號整數(shù),將整數(shù)中的數(shù)字進行反轉(zhuǎn)。

示例 1:

輸入: 123
輸出: 321

示例 2:

輸入: -123
輸出: -321

示例 3:

輸入: 120
輸出: 21

解題思路:利用最后一位是翻轉(zhuǎn)后的第一位。取到最后一位后,然后利用這一位的十進制表示法可以得到這一位在最高位時表示的整數(shù)。然后每一位的表示的整數(shù)相加就是最后翻轉(zhuǎn)的整數(shù)。在本算法中需要注意的有兩點:1負的整數(shù)數(shù)字位數(shù)少一位 2負整數(shù)對10進行求返回的是負數(shù)。Math.pow(x,y)表示x的y次冪

代碼:

class Solution {
    public int reverse(int x) {
        long a = 0;  
        int b =0;  
        if(x>=0){  
            b=(x+"").length();//正數(shù)  
            }  
        else{  
            b=(x+"").length()-1;//負數(shù)有一個負號
            }  
        while (x!=0){  
            for(int i=0;i<b;i++){  
                int a1 = x%10;//當前最后一位數(shù)字 ,負數(shù)則顯示的是負數(shù)-25%10 等于 -5 
                x=(x-a1)/10;//把最后一位數(shù)字剔除掉的新數(shù)字  
                a += (int) (a1*Math.pow(10,b-i-1));  //相當于將每次的最后一位乘以當前位在十進制中的權(quán)重。234 = 2*10^2+3*10^1+4*10^0
            }  
        }  
        if((a>Math.pow(2,31)-1)||(a<(-1)*Math.pow(2,31))){  //超過范圍的返回0
            return 0;  
        }  
        return (int) a; 
        }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,619評論 0 13
  • 寫測試用例 登記注冊,測試點 (以下內(nèi)容均以此圖片為例書寫) 1. 文本輸入框 1.普通文本輸入框 1.用戶名 -...
    心若無情閱讀 661評論 0 0
  • 1、使用列表的一部分 1.1 切片 players=['charles','martina','michael...
    夢vctor閱讀 338評論 0 0
  • 一、Python的基本數(shù)據(jù)類型 整數(shù):int 浮點數(shù):float注意,在其他語言中有:單精度:float,雙精度:...
    不羈de流年閱讀 395評論 0 0
  • 白茶是什么? 很多人脫口而出,一年茶,三年藥,七年寶…… 但是白茶的藥性到底指的是什么? 古今中外對白茶藥性的研究...
    于德生閱讀 5,598評論 0 1

友情鏈接更多精彩內(nèi)容