题目描述
题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/
Implement atoi to convert a string to an integer.
Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.
Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.
解题思路
实现字符串转整型的函数。注意处理边界问题和符合问题。
算法实现
class Solution {
public int myAtoi(String s) {
int index=0;
long sum=0;
int flag=1;
if(s==null || s==""){
return 0;
}
int len=s.length();
//前导空格
while(index<len && s.charAt(index)==' '){
index++;
}
//符号位
if(index<len){
if(s.charAt(index)=='-'){
flag=-1;
index++;
}
else if(s.charAt(index)=='+'){
index++;
}
}
//后续的数字
while(index<len && s.charAt(index)>='0'&&s.charAt(index)<='9'){
sum=sum*10+s.charAt(index)-'0';
if(sum*flag>Integer.MAX_VALUE){
return Integer.MAX_VALUE;
}
if(sum*flag<Integer.MIN_VALUE){
return Integer.MIN_VALUE;
}
index++;
}
return (int)sum*flag;
}
}