摘要:題目詳情題目要求我們給出一個數的翻轉數想法這道題主要的坑就是在于一個數值的輸入,在進行翻轉操作之后,不一定還符合的范圍,可能會造成異常。我們可以通過每次獲得整數除的余數,來確定當前整數的最后一位。
題目詳情
Given a 32-bit signed integer, reverse digits of an integer.想法題目要求我們給出一個數的翻轉數
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
這道題主要的坑就是在于一個int數值的輸入,在進行翻轉操作之后,不一定還符合int的范圍,可能會造成異常。
我們可以通過每次獲得整數除10的余數,來確定當前整數的最后一位。
解法public int reverse(int x) { long res = 0; while(x != 0){ int tail = x % 10; res = res*10 + tail; if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE){ return 0; } x = x/10; } return (int)res; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70942.html
摘要:原題目為難度此題讓我們輸出給定一個整數的倒序數比如倒序為倒序為但是如果倒序的過程中發生整型溢出我們就輸出倒序不復雜關鍵在于如何判定將要溢出最終的程序如下其中是獲取的個位數字判定下一步是否將要溢出使用 原題目為: Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -3...
摘要:判斷溢出這里使用了中的類整數類,縮寫就是的靜態變量和,就能直接得到整型變量可表示數值的上下限。當結果不在此范圍內時,則溢出,并返回否則返回正常結果。 要點 這一題的要點有三個: 接收長度不同的數字并翻轉 判斷結果是否溢出 解決方法 翻轉:為了能夠接收不同長度的數字進行反轉操作,我們使用循環結構進行操作。(注:這里創建的sum變量一定要用long類型而不能用int,原因是采用int...
摘要:字符串法復雜度時間空間思路先將數字轉化為字符串,然后將字符串倒序輸出,并轉回數字。模十法復雜度時間空間思路通過對數字模十取余得到它的最低位。除了檢查溢出返回特定值以外,有沒有別的方法處理溢出可以使用代碼塊排除異常。 Reverse Integer Reverse digits of an integer.Example1: x = 123, return 321Example2: x ...
摘要:第一時間想到這是經典的取模取余運算,但是寫的過程中遇到了很多問題這么簡單一題基礎做法取一個整數的最后一位數字只要把這個整數就可以,要取除最后一位數字之外的其它數字只要是沒有長度函數的,需要轉化成才能使用長度函數用這個方法最大的難點在 Easy 007 Reverse Integer Description: Given a 32-bit signed integer, reverse ...
摘要:微信公眾號記錄截圖記錄截圖目前關于這塊算法與數據結構的安排前。已攻略返回目錄目前已攻略篇文章。會根據題解以及留言內容,進行補充,并添加上提供題解的小伙伴的昵稱和地址。本許可協議授權之外的使用權限可以從處獲得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目錄 不...
閱讀 1174·2021-09-27 13:34
閱讀 981·2021-09-13 10:25
閱讀 511·2019-08-30 15:52
閱讀 3450·2019-08-30 13:48
閱讀 648·2019-08-30 11:07
閱讀 2167·2019-08-29 16:23
閱讀 1993·2019-08-29 13:51
閱讀 2328·2019-08-26 17:42