美文网首页
剑指offer----字符串转换成一个整数

剑指offer----字符串转换成一个整数

作者: qming_c | 来源:发表于2018-02-03 19:28 被阅读0次

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

输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
示例1

输入
+2147483647
    1a33
输出
2147483647
    0

代码:

public class Solution {
    public int StrToInt(String str) {
        if(str == null || str.length() == 0){
            return 0;
        }
        char[] chars = str.toCharArray();
        boolean hasSymbol = false;
        int sum = 0;
        if(chars[0] == '-' || chars[0] == '+'){
            hasSymbol = true;
        }
        for(int i = (hasSymbol ?  1 : 0) ; i < chars.length; i++){
            if((chars[i] >= 48) && (chars[i] <= 57)){
                sum = sum * 10 + (chars[i] - 48);
            }else{
                return 0;
            }
        }
        return hasSymbol ? (chars[0] == '-' ? -sum : sum) : sum;
    }
}

很简单,注意点细节就好了,不多说。

相关文章

网友评论

      本文标题:剑指offer----字符串转换成一个整数

      本文链接:https://www.haomeiwen.com/subject/xstpzxtx.html