【字符串9】把字符串转换成整数

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。

public class Solution {
    public int StrToInt(String str) {
        if(str==null ||str.length()<=0)
            return 0;
        char[] strChar=str.toCharArray();
        int len=strChar.length;
        int index=0;
        boolean minus=false;
        if(strChar[index]=='+' ||strChar[index]=='-'){
              if(strChar[index]=='-'){
                 minus=true; 
              }
              index++;
        }
        return StrToIntCore(strChar,index,len,minus);      
    }
    
    private int StrToIntCore(char[] strChar,int index,int len,boolean minus) {
        long sum=0;
        int flag=minus?-1:1;
        while(index <len){
            if(strChar[index]<='9' &&strChar[index]>='0'){
                sum=sum*10+flag*(strChar[index]-'0');
                //数字溢出
                if( (!minus &&sum>0x7FFFFFFF) ||(minus &&sum<0x80000000)){
                    return 0;
                }
        	}else {
                 return 0;
            }
            index++;    
        }
        return (int)sum;
    }
}

哭

你可能感兴趣的:(【字符串9】把字符串转换成整数)