标签:
极值问题
public class Solution { public int myAtoi(String str) { // 要考虑清楚极值问题 if(str==null || str.length()==0) return 0; int i=0, res=0; str = str.trim(); int sn=1; if(str.charAt(0)==‘-‘){ sn =-1; i++; }else if(str.charAt(0)==‘+‘){ i++; } while(i<str.length()&& str.charAt(i)>=‘0‘ &&str.charAt(i)<=‘9‘ ){ if(res>Integer.MAX_VALUE/10 ||( res==Integer.MAX_VALUE/10 && str.charAt(i)-‘0‘>Integer.MAX_VALUE%10)){ //不能写成res*10... return sn==1?Integer.MAX_VALUE:Integer.MIN_VALUE; }else{ res = res*10 + str.charAt(i)-‘0‘; i++; } } return sn <0? -res : res; } }
标签:
原文地址:http://www.cnblogs.com/jiajiaxingxing/p/4537515.html