class Solution { public: int atoi(const char *str) { // Start typing your C/C++ solution below // DO NOT write int main() function int res=0; bool s=true; int m=0; while(str[m]==' ') m++; if(str[m]=='+'||str[m]=='-') { if(str[m]=='-') s=false; m++; } for(int i=m; i<strlen(str); i++) { if(str[i]<'0'||str[i]>'9') break; if(INT_MAX/10<res||INT_MAX/10==res&&INT_MAX%10<str[i]-'0') { return s==false? INT_MIN : INT_MAX; } res=res*10+str[i]-'0'; } return s==false? -res : res; } };