class Solution {
public:
int atoi(const char *str) {
if(!*str) {
return 0;
}
while(*str && *str == ' ') {
str++;
}
bool sign = true;
if(*str == '+') {
str++;
} else if (*str == '-') {
sign = false;
str++;
}
if(!*str || !(*str >= '0' && *str <='9')) {
return 0;
}
long long number = 0; // will fail if you do not use long long!
while(*str) {
if(*str >= '0' && *str <='9') {
int num = *str - '0';
number = 10 * number + num;
} else {
break;
}
str++;
}
number = sign ? number : -number;
if(number >= INT_MAX) {
return INT_MAX;
} else if (number <= INT_MIN) {
return INT_MIN;
} else {
return (int)number;
}
}
};
3/30/2014
Leetcode -- String to Integer (atoi)
Solution 03/30/2014
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment