LeetCode刷题: 整数反转
生活随笔
收集整理的這篇文章主要介紹了
LeetCode刷题: 整数反转
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目
給出一個 32 位的有符號整數(shù),你需要將這個整數(shù)中每位上的數(shù)字進行反轉(zhuǎn)。示例 1:輸入: 123輸出: 321示例 2:輸入: -123輸出: -321示例 3:輸入: 120輸出: 21注意:假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù),則其數(shù)值范圍為 [?231, 231 ? 1]。請根據(jù)這個假設(shè),如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0。 復(fù)制代碼java題解:
class Solution {public int reverse(int x) { //123long rev = 0;while(x != 0){ rev = rev*10 + x%10; //321x = x/10; //0}if(rev > Integer.MAX_VALUE || rev < Integer.MIN_VALUE){return 0;}return (int)rev;} } 復(fù)制代碼注意問題:java不同于python,可以動態(tài)判定數(shù)據(jù)類型,所以首先聲明返回結(jié)果的類型為long,防止數(shù)據(jù)反轉(zhuǎn)之后導(dǎo)致整數(shù)溢出,造成返回的結(jié)果不符合我們的預(yù)期。 最后將返回的結(jié)果轉(zhuǎn)換成int類型即可。
基礎(chǔ)知識復(fù)習(xí)
除數(shù)/取余
2/10 = 0
2%10 = 2
long類型轉(zhuǎn)換為int
一.將long型轉(zhuǎn)化為int型,這里的long型是基礎(chǔ)類型:long a = 10; int b = (int)a; 二.將Long型轉(zhuǎn)換為int 型的,這里的Long型是包裝類型:Long a = 10; int b=a.intValue();三.將int型轉(zhuǎn)化為long型,這里的int型是基礎(chǔ)類型:int a = 10; long b = (int)a;四.將Integer型轉(zhuǎn)化為long型,這里的Integer型是包裝類型:int a = 10; Long b = a.longValue();總結(jié):這里的轉(zhuǎn)化就是要注意java的八種基礎(chǔ)數(shù)據(jù)類型以及八種包裝數(shù)據(jù)類型的區(qū)別。 復(fù)制代碼總結(jié)
以上是生活随笔為你收集整理的LeetCode刷题: 整数反转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站SEO排名怎么优化靠前
- 下一篇: UML关系图