题目的大概意思是:按照atoi函数的转换原则,将输入的字符串转换成整型数。其实就是自行实现atoi函数。
这道题难度等级:简单
需要注意的是以下几点:
但是怎么觉得不止这几种情况啊,这些情况我都考虑且避免了。还是AC不掉,暂时没有找到一个详细的转换原则。
网上找到的代码如下:
class Solution { public: int myAtoi(string str) { int len=str.size(); long ret=0; int op=1; int p=0; while(str[p]==' ') p++; if(str[p]=='-'||str[p]=='+') { if(str[p]=='-') op=-1; p++; } for(int i=p;i<len;i++) { if(str[i]>='0'&&str[i]<='9') { if(op==-1&&-1*(ret*10+str[i]-'0')<INT_MIN) return INT_MIN; if(op==1&&ret*10+str[i]-'0'>INT_MAX) { return INT_MAX; } ret=ret*10+str[i]-'0'; } else break; } return ret*op; } };