JZ49 把字符串转换成整数

描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0


示例

输入:"+2147483647"
返回值:2147483647

思路

说了是整数,所以比较好解决了,不需要考虑浮点数的可能。


解答

public class Solution {
    public int StrToInt(String str) {
        if (str.length()==0) return 0;
        boolean flag = true;
        int res = 0, start = 0;
        if (str.charAt(0) == ‘-‘) {
            flag = false;
            start = 1;
        } else if (str.charAt(0) == ‘+‘) {
            flag = true;
            start = 1;
        }

        int mount = 1;
        for (int i = str.length() - 1; i >= start; i--) {
            int a = str.charAt(i);
            if (a >= 48 && a <= 57) {
                res += (mount * (a - 48));
                mount *= 10;
            } else {
                return 0;
            }
        }

        return flag ? res : -res;
    }
}

JZ49 把字符串转换成整数

上一篇:source insight 支持CC 文件


下一篇:date时间同步