leet 字符串转整数

版权声明://若需转载,请各位大虾注明出处,小生在此有礼. https://blog.csdn.net/sos768/article/details/83045644

仅仅用于笔记记录,本次测试答案为错误,
不得不说,leetcode这道题的无聊和其变态的测试
”0 123” 应该为错误…我到现在都没看明白,他的规则和其测试之间的关系,还有“0-1”的判定 “-5-“的判定…真的一脸蒙蔽
希望后来者可以继续勇往直前…

class Solution {
public:
int myAtoi(string s) {
long num=0;
int flag=0;//记录数据数字位数
int fg=1;//记录正负
int k=0;//符号数字
if(s.empty()) return 0;
for(int i=0;i<s.length();i++){
if(s[i]’ ') continue;
if(s[i]
’-’){
fg=0;
k++;
continue;
}else if (s[i]’+’){
fg=1;
k++;
continue;
}
if(s[i]>=‘0’&&s[i]<=‘9’&&(k
1||k0)) {
int tmp=s[i]-‘0’;
if((fg
1&&num>INT_MAX/10)||(numINT_MAX/10 &&tmp>7)) return INT_MAX;
if((fg
0&&num>(INT_MAX)/10)||(num==(INT_MAX)/10 &&tmp>8)) return INT_MIN;
num=num*10+s[i]-‘0’;
flag++;
}else return fg1? num:-num;
if(flag
1 && s[i]‘0’) return 0;
}
return fg
1? num:-num;
}
};

猜你喜欢

转载自blog.csdn.net/sos768/article/details/83045644