来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/string-to-integer-atoi/
题目:
方法一:字符串的转换
class Solution {
public int myAtoi(String s) {
boolean isNegative = false;
int len = s.length();
int index = 0, number = 0;
while (index < len && s.charAt(index) == ' ') {
index++;
}
if (index < len && (s.charAt(index) == '-' || s.charAt(index) == '+')) {
isNegative = s.charAt(index) == '-';
index++;
}
while (index < len && '0' <= s.charAt(index) && s.charAt(index) <= '9') {
int temp = number * 10 + s.charAt(index) - '0';
if (Integer.MAX_VALUE / 10 < number || temp < number) { // 溢出
return isNegative ? Integer.MIN_VALUE : Integer.MAX_VALUE;
}
number = temp;
index++;
}
return isNegative ? -1 * number : number;
}
}
时间复杂度:O(n)
空间复杂度:O(1)