- 时间限制:1秒空间限制:32768K
- 通过比例:13.09%
- 最佳记录:0ms|8552K(来自 牛客688826号)
题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。如果是非法的整数字符,比如1aa3,则返回0。
class Solution {
public:
int StrToInt(string str) {
int len=str.length();
long sum=0;
int flag=1;
for(int i=len-1;i>=0;--i){
if(str[len-1-i]=='+'){flag=1;continue;}
if(str[len-1-i]=='-'){flag=-1;continue;}
if(str[len-1-i]<='0'||str[len-1-i]>='9') return 0;
sum +=(str[len-1-i]-'0')*pow(10,i);
}
if(sum*flag>INT_MAX||sum*flag<INT_MIN) return 0;
return sum*flag;
}
};