leetcode8 字符串转换整数
Posted Erio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode8 字符串转换整数相关的知识,希望对你有一定的参考价值。
<cctype> isdigit(char)
问题:在做乘法,加法前,先判断是否溢出
&&优先级大于==
然后教训:
考虑情况不周。比如3.14这样
然后解决办法
多自己搞几组测试
+1
1
-1
...
class Solution { public: int myAtoi(string str) { long long ret=0; long long cmp1=((long long)1<<31)-1; long long cmp2=-cmp1-1; int i=0; int flag=0; while(i!=str.length()) { if(str[i]==‘ ‘){ i++;} else if(str[i]!=‘-‘&&!isdigit(str[i])&&str[i]!=‘+‘){ return 0;} else { if(isdigit(str[i])) flag=1; else if(i<str.length()-1&&isdigit(str[i+1])) flag=str[i]==‘+‘?1:-1; else return 0; if(!isdigit(str[i])) i++; while(i<str.length()&&isdigit(str[i])) { ret=ret*10+(str[i]-‘0‘); if(ret>=cmp1&&(flag==1)) return cmp1; else if(ret>cmp1) return cmp2; i++; } return flag==1?ret:-ret; } } return 0; } };
以上是关于leetcode8 字符串转换整数的主要内容,如果未能解决你的问题,请参考以下文章
每日算法/刷穿 LeetCode8. 字符串转换整数 (atoi) (中等)
leetcode-7 整数反转&&leetcode8 字符串转换整数
leetcode-7 整数反转&&leetcode8 字符串转换整数
leetcode-7 整数反转&&leetcode8 字符串转换整数