把字符串转换成整数_JAVA_较难

把字符串转换成整数

http://www.nowcoder.com/questionTerminal/1277c681251b4372bdef344468e4f26e

  • 先处理空
  • 再处理正负号
  • 再处理首位为0值
  • 最后进行数值处理
public class Solution {
    public int StrToInt(String str) {
        int num = 0, flag = 1;
        // 处理空
        if(str == null || str.isEmpty()) {
            return 0;
        }

        // 处理符号
        if(str.charAt(0) == '-') {
            flag = -1;
            str = str.substring(1,str.length());
        } else if(str.charAt(0) == '+'){
            str = str.substring(1,str.length());
        }

        // 处理空
        if(str == null || str.isEmpty()) {
            return 0;
        }

        // 处理第一位0
        if(str.charAt(0) == '0') {
            return 0;
        }

        // 累计
        for(char c : str.toCharArray()) {
            if(c < '0' || c > '9') {
                return 0;
            } else {
                num = (c - '0')  + num * 10;
            }
        }

        return flag * num;
    }
}
全部评论

相关推荐

学不完不睡觉11:一眼点评,不过,看运气吧
点赞 评论 收藏
分享
肥沃富饶:可能初创公司,老板不懂技术
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务