题目描述:

输入一个字符串,包括数字字母符号,可以为空。 
    

//方法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;
    
	    
}