剑指offer--把字符串转化为整数

2019-04-20  本文已影响0人  Cuttstage

题目:
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

思路:
给个flag判断第一个元素,之后循环判断就可以完成任务了。

代码:

public class Solution {
    public int StrToInt(String str) {
        char[] arr = str.toCharArray();
        if( "".equals(str) ) return 0;
        int flag = 1;
        int ret = 0;
        int temp = 0;
        if( arr[0] == '+' ){
            flag = 1;
            temp = 1;
        }else if( arr[0] == '-' ){
            flag = -1;
            temp = 1;
        }
        for(int i=temp; i<arr.length; i++){
            if( arr[i] < '0' || arr[i] > '9' ) return 0;
            ret = ret * 10 + (int)( arr[i] - '0' );
        }
        return ret * flag;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读