题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。数值为0或者字符串不是一个合法的数值则返回0
解题思路
class Solution {
public:
int StrToInt(string str) {
long long ans = 0;
int len = str.length();
if(len == 0) return 0;
int i = (str[0]=='-'||str[0]=='+')?1:0;
int flag = (str[0]=='-')?1:0;
while(i<len){
char c = str[i];
if(c>='0'&&c<='9') ans = ans*10 + c-'0';
else return 0;
++i;
}
ans = (flag==1)?-ans:ans;
if(ans > INT_MAX || ans < INT_MIN) return 0;
return ans;
}
};