首页 > 其他 > 详细

<Math> 165 8

时间:2019-11-16 13:04:01      阅读:86      评论:0      收藏:0      [点我收藏+]

165. Compare Version Numbers

class Solution {
    public int compareVersion(String version1, String version2) {
        String[] levels1 = version1.split("\\.");
        String[] levels2 = version2.split("\\.");
        
        int length = Math.max(levels1.length, levels2.length);
        for(int i = 0; i < length; i++){
            Integer v1 = i < levels1.length ? Integer.parseInt(levels1[i]) : 0;
            Integer v2 = i < levels2.length ? Integer.parseInt(levels2[i]) : 0;
            int compare = v1.compareTo(v2);
            if(compare != 0){
                return compare;
            }
        }
        return 0;
    }
}

8. String to Integer (atoi)

sign: 正负号

index: 当前索引。

class Solution {
    public int myAtoi(String str) {
        str = str.trim();
        if(str == null || str.length() == 0) return 0;
        
        int sign = 1;
        int index = 0;
        char c = str.charAt(0);
        if(c == ‘+‘){
            sign = 1;
            index++;
        }else if(c == ‘-‘){
            sign = -1;
            index++;
        }
        
        long sum = 0;
        for(int i = index; i < str.length(); i++){
            if(!Character.isDigit(str.charAt(i))){
                return (int)sum * sign;
            }
            sum = sum * 10 + str.charAt(i) - ‘0‘;
            if(sign == 1 && sum > Integer.MAX_VALUE){
                return Integer.MAX_VALUE;
            }
            if(sign == -1 && (-1)*sum < Integer.MIN_VALUE){
                return Integer.MIN_VALUE;
            }
        }
        return (int)sum * sign;
    }
}

 

<Math> 165 8

原文:https://www.cnblogs.com/Afei-1123/p/11871295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!