Files
2026-01-29 01:04:37 +05:30

38 lines
807 B
C++

class Solution {
public:
int myAtoi(string s) {
if(s.empty()) return 0;
const long long MAX_INT = INT_MAX;
const long long MIN_INT = INT_MIN;
int n = s.length();
int i = 0;
while(i<n && s[i]==' ')
i++;
if(i==n)
return 0;
int sign = 1;
if(s[i]=='+')
i++;
else if(s[i]== '-'){
sign = -1;
i++;
}
long long res= 0;
while(i<n && isdigit(s[i])){
int digit = s[i] - '0';
res = res*10 + digit;
if(sign*res >= MAX_INT)
return MAX_INT;
if(sign*res <= MIN_INT)
return MIN_INT;
i++;
}
return sign*res;
}
};