【LeetCode从零单排】No.8 String to Integer (丧心病狂的一道题

题目

题目很简单,就是写一个函数把string转换成int,但是通过率只有可怜的11%,难点是要考虑所有情况,,特别是int溢出边界,反正我是写了2个小时还没解决,先放到这,有空接着搞,现在应该还有最后一个bug。

Implementatoito convert a string to an integer.

Hint:Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes:It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

代码

public class Solution {public int atoi(String str) {String num_str="";char[] str_char=str.toCharArray();char[] sympo="-+".toCharArray();boolean abs=true;for(int i=0;i<str.length();i++){if(str_char[i]==sympo[0] ||str_char[i]==sympo[1]){if(!Character.isDigit(str_char[i+1])){return 0;}if(str_char[i]==sympo[0]){abs=false;}}if(Character.isDigit(str_char[i])){num_str+=String.valueOf(str_char[i]);}else{if(num_str.length()!=0){break;}}//if(Character.isDigit(str_char[i])){//num_str+=String.valueOf(str_char[i]);//}if(num_str!=""){if(Math.abs(Integer.parseInt(num_str))>=Integer.MAX_VALUE / 10){return Integer.MAX_VALUE;}}}if(num_str!=""){if(abs){return Integer.parseInt(num_str);}else{return -Integer.parseInt(num_str);}}else{return 0;}}}

代码下载:https://github.com/jimenbian/GarvinLeetCode

/********************************

* 本文来自博客 “李博Garvin“

* 转载请标明出处:

******************************************/

接受失败更是一种智者的宣言和呐喊

【LeetCode从零单排】No.8 String to Integer (丧心病狂的一道题

相关文章:

你感兴趣的文章:

标签云: