【剑指Offer】把字符串转换成整数 Posted on 2017-09-05 | In Algorithm , 剑指Offer 题目写一个函数StrToInt,实现把字符串转换成整数的功能。不能使用atoi或者其他类似的库函数。 实现12345678910111213141516171819202122232425262728293031323334353637private boolean isInvalid = false;public int StrToInt(String str) { if (str == null || str.length() < 1) { isInvalid = true; return 0; } char[] array = str.toCharArray(); long result = 0; boolean minus = false; int index = 0; if (array[index] == '+') index++; else if (array[index] == '-') { minus = true; index++; } for (; index < array.length; index++) { if (array[index] < '0' || array[index] > '9') { isInvalid = true; return 0; } int flag = minus ? -1 : 1; result = result * 10 + flag * (array[index] - '0'); if ((!minus && result > Integer.MAX_VALUE) || (minus && result < Integer.MIN_VALUE)) { isInvalid = true; return 0; } } return (int)result;}