题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
class Solution {
public:
int ctoi(char c)
{
if(c<='9'&&c>='0')
return c-'0';
return 0;
}
int nu(int n)
{
int sum=1;
for(int i=1;i<n;++i)
sum*=10;
return sum;
}
int StrToInt(string str)
{
string b;
int n=str.length();
int a=0;
if(n==0)
return 0;
int i=0;
if(str[0]=='-'||str[0]=='+')
{
++i;
--n;
}
while(str[i]!='\0')
{
if(ctoi(str[i])==0&&str[i]!='0')
{
a=0;
break;
}
int temp1=nu(n);
int temp2=ctoi(str[i]);
a+=temp1*temp2;
++i;
--n;
}
if(str[0]=='-')
return -a;
else
return a;
}
};