一、题目
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
二、思路
详见代码。
三、代码
public class Solution {
public static int StrToInt(String str) {
//初始条件判断
if (str.equals("") || str.length() == 0)
return 0;
char[] a = str.toCharArray(); int fuhao = 0;
if (a[0] == '-')
fuhao = 1; int sum = 0; for (int i = fuhao; i < a.length; i++) {
if (a[i] == '+') //如果有符号,例如"-+++++",则都跳过
continue;
if (a[i] < 48 || a[i] > 57) //如果字符不是‘0’到‘9’
return 0;
sum = sum * 10 + a[i] - 48;//字符求和
}
return fuhao == 0 ? sum : sum * -1;//判断为正数还是负数
}
}
---------------------------------------------
参考链接:
https://www.nowcoder.com/questionTerminal/1277c681251b4372bdef344468e4f26e