String to Integer (atoi)
class Solution {
public:
int myAtoi(string str) {
long long ans=0;
bool isNegtive=false;
//丟棄前面的' '
int validIdx=0;
for (int i=0;i<str.length();i++){
if (str[i]!=' ') {
validIdx=i;
break;
}
}
//判斷正負
if (str[validIdx]=='-'){
isNegtive=true;
validIdx++;
}else{
if (str[validIdx]=='+') {
isNegtive=false;
validIdx++;
}
}
for (int i =validIdx; i<str.length(); i++) {
if (str[i]<='9'&&str[i]>='0') {//過濾掉無效的字符。
ans=ans*10+str[i]-'0';
if (isNegtive&&ans>2147483648) {
ans=2147483648;
}
if (!isNegtive&&ans>2147483647) {
ans=2147483647;
}
}
else{
break;
}
}
if (isNegtive) {
ans*=-1;
}
return ans;
}
};