劍指offer系列(49) 把字串轉換成整數

2021-08-20 06:57:53 字數 990 閱讀 6461

題目描述

將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是乙個合法的數值則返回0

輸入乙個字串,包括數字字母符號,可以為空
如果是合法的數值表達則返回該數字,否則返回0
樣例輸出 2147483647 0

思路分析

題目描述過於簡單了,對於邊界條件,難道讓做題者猜測嗎(手動滑稽)

1.省略字元開頭空格

2.保留負號

3.若含有字母,返回0

5.大數或負大數,輸出其值

**

public int strtoint(string str) 

stringbuffer s = new stringbuffer();

long b = 0;

int sign = 1;

for (int i = 0; i < str.length(); i++)

}if (s.charat(0) !='+' && s.charat(0) !='-' && s.charat(0) '9')

if (s.charat(0) =='+' || s.charat(0) =='-')

if (s.charat(0) >'0' && s.charat(0)

for (int i = 1; i < s.length(); i++)

b = b*10 + a;

}return (int)b*sign;

}

結果

49 劍指offer 把字串轉換成整數

題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否則返回0 輸入例子 2147483647 1a33 輸出例子 2147483647 0 ...

劍指offer 49 把字串轉換成整數

題目 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 思路 如果有正負號,先處理正負號,再處理判斷是否為合法字元,思路看不懂可以看 附有注釋,請原諒博主我太懶 class solution e...

劍指offer面試題49 把字串轉為整數

此題並不複雜,主要是想考做題人思維的嚴密性和 的健壯性,要想寫出完整的正確的 必須要考慮各種異常的情況,以及設計出足夠多的測試用例以供正確性檢驗,因此可以說也並不簡單,至少剛開始對我來說就是這樣的。我們主要考慮的是輸入字串引數存在的各種可能性 1 輸入的字串是正數 負數 和0 0 2 超過最大的正數...