Leetcode8 String to Integer(atoi)
Posted chason95
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode8 String to Integer(atoi)相关的知识,希望对你有一定的参考价值。
这道题挺经典的,不算难,但是没做过或者好久没做了还是容易忘记方法,另外还涉及了检查上溢下溢的内容:
class Solution { public int myAtoi(String str) { if (str==null||str.trim().length()<1) return 0; char[] schar = str.toCharArray(); int sign=1,index=0,result=0; //drop whitespace elements while(‘ ‘==schar[index]) { index++; } //sign if(schar[index]==‘-‘||schar[index]==‘+‘) { sign = (schar[index]==‘-‘)?-1:1; index++; } while(index<str.length()) { int digit=schar[index]-‘0‘; if(digit<0||digit>9) { break; } //judge overflow if(result>(Integer.MAX_VALUE-digit)/10) { result = (sign==1)?Integer.MAX_VALUE:Integer.MIN_VALUE; break; } result = result*10+digit; index++; } return result*sign; } }
17ms,100%.
其中,边界条件str.trim()挺重要的,不然对于testcase “ ”就会无法解决。
以上是关于Leetcode8 String to Integer(atoi)的主要内容,如果未能解决你的问题,请参考以下文章
leetcode8.String to Integer (atoi)
LeetCode8. String to Integer (atoi)
LeetCode8. String to Integer (atoi)
leetcode8. String to Integer (atoi)