摘要:每日一題整數反轉鏈接整數反轉題目分析題目不是很難但是細節很多并且不允許存儲位整數需要考慮很多的東西在之后的代碼部分逐一分析代碼標記一下正數還是負數負數的最小值反轉后超出了范圍提前范圍避免下面的報錯依次取出最低
題目不是很難,但是細節很多,并且不允許存儲64位整數,需要考慮很多的東西.在之后的代碼部分逐一分析.
C++
class Solution {public: int reverse(int x) { int f = 1; // 標記一下正數還是負數 if(x < 0) f = -1; int maxn = INT_MAX; int inf = INT_MIN; int res = 0; // 負數的最小值反轉后超出了范圍,提前范圍,避免下面的abs報錯 if(x == inf) return 0; x = abs(x); while(x > 0) { // 依次取出最低位 int t = x % 10; // 如果當前res * 10 > maxn,那么就超出了范圍 if(res > maxn / 10) return 0; // 不超范圍就更新res的值 res = res * 10 + t; // 更新x的值 x /= 10; } // 返回帶標志位的res return f * res; }};
Java
官方題解沒有轉化成正數求解,而是一起計算
class Solution { public int reverse(int x) { int rev = 0; while (x != 0) { if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) { return 0; } int digit = x % 10; x /= 10; rev = rev * 10 + digit; } return rev; }}作者:LeetCode-Solution
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/123182.html
摘要:題目旋轉數組給定一個數組,將數組中的元素向右移動個位置,其中是非負數。例如將到反轉將到反轉全部翻轉得到最后結果。這里要注意下還有這樣的情況即大于數組長度的情況。次旋轉次旋轉轉回來了次旋轉次旋轉轉回來了次旋轉所以這里的有效等于對數組長度求余。 題目: 旋轉數組 給定一個數組,將數組中的元素向右移動 k 個位置,其中 k 是非負數。 示例: 輸入: [1,2,3,4,5,6,7] 和 k...
摘要:關于遞歸這里提一兩點遞歸基本有這幾步遞歸的模板,終止條件,遞歸調用,邏輯處理。 ?作者簡介:大家好,我是車神哥,府學路18號的車神? ?個人主頁:應無所住而生...
摘要:先實現棧操作遍歷鏈表,把每個節點都進中然后再遍歷鏈表,同時節點依次出棧,二者進行比較。 ?作者簡介:大家好,我是車神哥,府學路18號的車神? ?個人主頁:應無...
閱讀 3046·2023-04-26 02:27
閱讀 2763·2021-11-22 13:54
閱讀 902·2021-11-12 10:36
閱讀 3752·2021-10-09 09:44
閱讀 3177·2021-10-09 09:41
閱讀 1222·2021-09-22 10:02
閱讀 2833·2019-08-30 15:56
閱讀 3103·2019-08-30 11:02