牛客網 把字串轉換為整數(綜合)

2021-10-03 03:01:40 字數 1165 閱讀 1111

題目:

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

輸入描述:

輸入乙個字串,包括數字字母符號,可以為空
輸出描述:

如果是合法的數值表達則返回該數字,否則返回0
示例1

輸入                            輸出

+2147483647          2147483647

1a33 0

知識點:

1、常見字元的ascii碼值:

空格的ascii碼值為32;數字0到9的ascii碼值分別為48到57;大寫字母「a」到「z」的ascii碼值分別為65到90;小寫字母「a」到「z」的ascii碼值分別為97到到122。

2、int的取值範圍為-2^31~2^31-1(2^31=2147483648)

3、負號的字典順序:除去負號看數字部分。

例如:「-123」與「-2147483648」用compareto比較,「-123」>「-2147483648」

思路:

1、將字串轉為char,設定判別正負號的標記位,設定int型輸出和:sum

2、判斷輸入的string型別的整數是否超過int值範圍。

3、若str中除了第一位是'-'或'+',其餘均為數字,將char型別數值轉為int型別

4、每輸入乙個數字前,將原有sum*10,在將此次得到的值加到sum中

5、若為負數,結果值用0-;其餘直接輸出

答案:

public class solution 

char ch = str.tochararray();

int sum=0;

boolean flag = false;//判斷符號標記位

if(ch[0]=='-')//超過int的範圍

}else if(ch[0]=='+')

}else}

for(int i=0;i}else

}if(flag)

return sum;

}}

牛客網 把字串轉換成整數

題目描述 將乙個字串轉換成乙個整數 實現integer.valueof string 的功能,但是string不符合數字要求時返回0 要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0。輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回...

牛客網 把字串轉換成整數

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

牛客 將字串轉換為整數

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