題目:
將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。 數值為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...