Problem
Implement function atoi to convert a string to an integer.
If no valid conversion could be performed, a zero value is returned.
If the correct value is out of the range of representable values, INT_MAX (2147483647) or INT_MIN (-2147483648) is returned.
Example"10" => 10 "-1" => -1 "123123123123123" => 2147483647 "1.0" => 1Solution
public class Solution { public int myAtoi(String str) { str = str.trim(); boolean isNeg = false; int res = 0; for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i); if (i == 0 && (ch == "+" || ch == "-")) isNeg = ch == "+" ? false: true; else if (ch >= "0" && ch <= "9") { int cur = ch - "0"; if (res > (Integer.MAX_VALUE-cur)/10) return isNeg ? Integer.MIN_VALUE: Integer.MAX_VALUE; else res = res*10+cur; } else return isNeg ? -res: res; } return isNeg? -res: res; } }Update 2018-10
class Solution { public int myAtoi(String str) { str = str.trim(); if (str == null || str.length() == 0) return 0; boolean isPositive = true; int index = 0; if (str.charAt(0) == "-") { isPositive = false; index++; } if (str.charAt(0) == "+") { index++; } int sum = 0; while (index < str.length()) { char ch = str.charAt(index); if (ch < "0" || ch > "9") break; int digit = str.charAt(index)-"0"; if ((Integer.MAX_VALUE-digit)/10 < sum) { return isPositive ? Integer.MAX_VALUE : Integer.MIN_VALUE; } sum = sum*10+digit; index++; } return isPositive ? sum : -sum; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65973.html
摘要:難度是標準庫中的一個函數可以將字符串表示的整數轉換為現在要求我們自己來實現它解題過程中主要有以下兩點需要注意字符串開頭可能出現或者需要處理使用來記錄中間結果防止溢出下面是的解法 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If ...
摘要:通用方法復雜度時間空間思路字符串題一般考查的都是邊界條件特殊情況的處理。所以遇到此題一定要問清楚各種條件下的輸入輸出應該是什么樣的。 String to Integer (atoi) Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input...
摘要:判斷一條單向鏈表是不是回文解法可以借助棧,將遍歷到的前半段鏈表節點放入棧,后半段每當遍歷到一個,都要與出棧的節點相比較。如果中間出現不相等的情況,則不是回文。 [July 程序員編程藝術:面試和算法心得題目及習題][1] 字符串轉換成整數 also Leetcode 8 String to Integer (atoi) 題目描述 輸入一個由數字組成的字符串,把它轉換成整...
摘要:當我們尋找到的第一個非空字符為正或者負號時,則將該符號與之后面盡可能多的連續數字組合起來,作為該整數的正負號假如第一個非空字符是數字,則直接將其與之后連續的數字字符組合起來,形成整數。數字前正負號要保留。 Time:2019/4/19Title: String To IntegerDifficulty: MediumAuthor: 小鹿 題目:String To Integer(字...
摘要:實現函數轉思路利用內置的函數可以將字符串快速轉換成型利用是否拋出異常來快速判斷能否被轉換成,進而迅速確定輸入字符串中第一個非數字字符的位置需要注意處理符號的問題代碼如果是或者但是會拋出異常,此時返回由于的沒有取值上限,如果規定為 實現atoi函數(string轉integer) String to Integer (atoi) Implement atoi to convert a ...
閱讀 2809·2021-10-08 10:04
閱讀 3198·2021-09-10 11:20
閱讀 524·2019-08-30 10:54
閱讀 3306·2019-08-29 17:25
閱讀 2302·2019-08-29 16:24
閱讀 885·2019-08-29 12:26
閱讀 1447·2019-08-23 18:35
閱讀 1931·2019-08-23 17:53