把字符串转换成整数_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;
    }
}
全部评论

相关推荐

10-25 00:32
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务