最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java題解Leetcode 8字符串轉換整數(shù)

 更新時間:2023年06月15日 16:26:29   作者:尹學姐  
這篇文章主要為大家介紹了java題解Leetcode 8字符串轉換整數(shù)實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目要求

請你來實現(xiàn)一個 myAtoi(string s) 函數(shù),使其能將字符串轉換成一個 32 位有符號整數(shù)(類似 C/C++ 中的 atoi 函數(shù))。

函數(shù) myAtoi(string s) 的算法如下:

  • 讀入字符串并丟棄無用的前導空格
  • 檢查下一個字符(假設還未到字符末尾)為正還是負號,讀取該字符(如果有)。 確定最終結果是負數(shù)還是正數(shù)。 如果兩者都不存在,則假定結果為正。
  • 讀入下一個字符,直到到達下一個非數(shù)字字符或到達輸入的結尾。字符串的其余部分將被忽略。
    將前面步驟讀入的這些數(shù)字轉換為整數(shù)(即,"123" -> 123, "0032" -> 32)。如果沒有讀入數(shù)字,則整數(shù)為 0 。必要時更改符號(從步驟 2 開始)。
  • 如果整數(shù)數(shù)超過 32 位有符號整數(shù)范圍 [−2^31, 2^31 − 1] ,需要截斷這個整數(shù),使其保持在這個范圍內(nèi)。具體來說,小于 −2^31 的整數(shù)應該被固定為 −2^31 ,大于 2^31 − 1 的整數(shù)應該被固定為 2^31 − 1 。
  • 返回整數(shù)作為最終結果。

注意:

  • 本題中的空白字符只包括空格字符 ' ' 。
  • 除前導空格或數(shù)字后的其余字符串外,請勿忽略 任何其他字符。

示例 1:

輸入:s = "42"
輸出:42

示例 2:

輸入:s = " -42"
輸出:-42

示例 3:

輸入:s = "4193 with words"
輸出:4193

提示:

  • 0 <= s.length <= 200
  • s 由英文字母(大寫和小寫)、數(shù)字(0-9)、' '、'+'、'-' 和 '.' 組成

解題思路

這道題用簡單的模擬法來解。

主要步驟如下:

  • 借助trim方法,去除s前后的空格
  • 判斷s的第一位元素,是否為+和-,從而得到結果是正數(shù)還是負數(shù)
  • 循環(huán)遍歷s中的所有數(shù)字
    • 先判斷加上當前數(shù)字是否會越界,如果會越界,則直接返回Integer.MAX_VALUE或Integer.MIN_VALUE
    • 計算res值
    • index++
  • 返回正負號標記位 * res

Java代碼

class Solution {
    public int myAtoi(String s) {
        s = s.trim();
        int index = 0, flag = 1, res = 0;
        if (index < s.length() && (s.charAt(index) == '+' || s.charAt(index) == '-')) {
            flag = s.charAt(index++) == '+' ? 1 : -1;
        }
        while(index < s.length() && Character.isDigit(s.charAt(index))){
            int digit = s.charAt(index) - '0';
            if(res > (Integer.MAX_VALUE - digit) / 10){
                return flag == 1 ? Integer.MAX_VALUE : Integer.MIN_VALUE;
            }
            res = res * 10 + digit;
            ++index;
        }
        return flag * res;
    }
}

總結

這道題就用模擬法的方式來解,就好了,核心是如何判斷越界。不能在計算完res值之后再判斷越界,要在計算res值之前判斷是否越界。

以上就是java題解Leetcode 8字符串轉換整數(shù)的詳細內(nèi)容,更多關于java題解字符串轉換整數(shù)的資料請關注腳本之家其它相關文章!

相關文章

最新評論

迁安市| 黄石市| 德保县| 昭觉县| 清镇市| 陆河县| 麻栗坡县| 鄂尔多斯市| 辉南县| 屯昌县| 观塘区| 甘谷县| 高邮市| 云梦县| 湟中县| 微博| 尼勒克县| 密山市| 西乌珠穆沁旗| 宁强县| 元谋县| 北碚区| 永吉县| 开化县| 滁州市| 南昌市| 梅河口市| 石河子市| 宣武区| 昆山市| 昌宁县| 拉孜县| 雷州市| 泰州市| 南漳县| 日土县| 平陆县| 沂源县| 哈密市| 谷城县| 麦盖提县|