【LeetCode從零單排】No.7 Reverse Integer
前話
今天開始勵志刷一下leetcode上面的題目(還好這個網站沒被TG和諧)。從easy的開始,數一下差不多有40道,爭取兩個月搞定。
題目
沒想到做的第一道題目,雖然看似簡單,卻費了很大週摺。
題目如下:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
剛看到這道題,首先蹦出的想法是把整數轉換為字串,然後前後位置換下再轉回int型,實事證明這樣是不可取的,因為當輸入的int型數字很大的時候,比如412851289525983,就會產生溢位,這樣在使用Integer.parseInt這種函式的時候會報錯,正確的做法是對數字進行int操作,利用取10的餘數獲得每位數字。下面展示下,錯誤答案和正確答案。
程式碼
1.正確解
public class Solution {
public int reverse(int x) {
int sum = 0;
while (Math.abs(x) != 0)
{
if(Math.abs(sum) > Integer.MAX_VALUE / 10)
{
return 0;
}
sum = sum * 10 + x % 10;
x = x / 10;
}
return sum;
}
}
2.錯誤解
public class Solution {
public int reverse(int x) {
if(Math.abs(x)>100){
return 0;
}
else{
String x_str=Integer.toString(x);
char[] x_char = x_str.toCharArray();
String x_reverse_str="";
//System.out.print(Character.isDigit(x_char[0]));
if(Character.isDigit(x_char[0])){
for(int i=(x_str.length()-1);i>=0;i--){
x_reverse_str+=x_char[i];
}
}
else{
x_reverse_str+=x_char[0];
for(int i=(x_str.length()-1);i>=1;i--){
x_reverse_str+=x_char[i];
}
}
return Integer.parseInt(x_reverse_str);}
}
}
/********************************
* 本文來自部落格 “李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
相關文章
- Leetcode 7 Reverse IntegerLeetCode
- LeetCode Reverse Integer(007)解法總結LeetCode
- LeetCode - 解題筆記 - 7 - Reverse IntegerLeetCode筆記
- Mysql從零單排-1MySql
- 從零單排學Redis【黃金】Redis
- 從零單排學Redis【白銀】Redis
- 從零單排學Redis【鉑金一】Redis
- 從零單排學Redis【鉑金二】Redis
- SpringBoot從零單排 ------初級入門篇Spring Boot
- 【3y】從零單排學Redis【青銅】Redis
- 「每日一道演算法題」Reverse Integer演算法
- Leetcode 12 Integer to RomanLeetCode
- Leetcode 13 Roman to IntegerLeetCode
- Leetcode 151 Reverse Words in a StringLeetCode
- leetcode 344. Reverse StringLeetCode
- 「從零單排canal 03」 canal原始碼分析大綱原始碼
- 「從零單排canal 05」 server模組原始碼解析Server原始碼
- 「從零單排canal 07」 parser模組原始碼解析原始碼
- 從零單排,使用 Netty 構建 IM 聊天室~Netty
- 「從零單排canal 06」 instance模組原始碼解析原始碼
- Laravel 從零單排系列教程 01 :Homestead 環境搭建Laravel
- LeetCode每日一題:整數反轉(No.7)LeetCode每日一題
- Leetcode 273 Integer to English WordsLeetCode
- Leetcode 8 String to Integer (atoi)LeetCode
- Leetcode 12. Integer to RomanLeetCode
- 三分鐘從零單排js靜態檢查JS
- Spring AOP從零單排-織入時期原始碼分析Spring原始碼
- Leetcode 206. Reverse Linked ListLeetCode
- 「從零單排canal 04」 啟動模組deployer原始碼解析原始碼
- 「從零單排HBase 10」HBase叢集多租戶實踐
- Leetcode 25 Reverse Nodes in k-GroupLeetCode
- LeetCode - Easy - 206. Reverse Linked ListLeetCode
- 從零開始單排學設計模式「策略模式」黑鐵 II設計模式
- LeetCode Integer to Roman(012)解法總結LeetCode
- LeetCode Roman to Integer(013)解法總結LeetCode
- [leetcode] 1394. Find Lucky Integer in an ArrayLeetCode
- 【Leetcode】25.Reverse Nodes in k-GroupLeetCode
- 從零開始單排學設計模式「UML類圖」定級賽設計模式
- 最新【從零單排】系列流出,教你如何實現字典儲存結構