class Solution {
public:
int myAtoi(string str) {
string x = "";
int n = str.length();
int l=0,r=n-1;
while(str[l]==' '&&l<n)l++;
while(str[r]==' '&&r>0)r--;
int be =0;
if(str[l] == '+' || str[l] == '-')
be=1;
long long ans = 0;
int flag = 1;
if(str[l] == '-') flag = -1;
for(int i = be+l;i <= r; i++){
if(str[i] < '0' || str[i] > '9') break;
ans = ans*10+str[i]-'0';
if(ans > 2147483647 && flag == 1) return 2147483647;
else if(ans > 2147483648 && flag == -1) return -2147483648;
}
return ans*flag;
}
};