题目描述:
输入一个字符串,包括数字字母符号,可以为空。
//方法1:牛客版
/*
1、负号“-”与正号“+”只能出现在第一个i=0的位置;
2、不能出现除0~9与+、-之外的任何字符;
3、不能出现前置零;
int StrToInt(string str)
{
if(str.empty())
return 0;
int signal=1;
int sum=0;
if(str[0]=='-')
signal=-1;
if(str[0]=='+')
signal=1;
if((str[0]<='0'||str[0]>'9')&&(str[0]!='+')&&(str[0]!='-'))
return 0;
if(str[0]>='0'&&str[0]<='9')
{
sum=str[0]-'0';
}
for(int i=1;i<str.size();i++)
{
if(str[i]>='0'&&str[i]<='9')
{
sum=sum*10+str[i]-'0';
}
else
{
return 0;
}
}
return sum*signal;
}