NC104:比较版本号

比较版本号

http://www.nowcoder.com/questionTerminal/2b317e02f14247a49ffdbdba315459e7

示例 1:
输入: version1 = “0.1”, version2 = “1.1”
输出: -1
示例 2:
输入: version1 = “1.0.1”, version2 = “1”
输出: 1
示例 3:
输入: version1 = “7.5.2.4”, version2 = “7.5.3”
输出: -1
示例 4:
输入:version1 = “1.01”, version2 = “1.001”
输出:0
解释:忽略前导零,“01” 和 “001” 表示相同的数字 “1”。
示例 5:
输入:version1 = “1.0”, version2 = “1.0.0”
输出:0
解释:version1 没有第三级修订号,这意味着它的第三级修订号默认为 “0”。
提示:
版本字符串由以点 (.) 分隔的数字字符串组成。这个数字字符串可能有前导零。
版本字符串不以点开始或结束,并且其中不会有两个连续的点。

代码:

public class Solution {
    /**
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    public int compare (String version1, String version2) {
        // write code here
        String[] str1=version1.split("\\.");
        String[] str2=version2.split("\\.");
        int n=Math.max(str1.length,str2.length);
        for(int i=0;i<n;i++){
            int x= i<str1.length ? Integer.valueOf(str1[i]) : 0 ;
            int y= i<str2.length ? Integer.valueOf(str2[i]) : 0 ;
            if(x<y){
                return -1;
            }
            else if(x>y){
                return 1;
            }
        }
        return 0;
    }
}
名企高频面试算法题解 文章被收录于专栏

牛客题霸 - 程序员面试高频题 - 题解

全部评论
这不能过吧?
点赞 回复 分享
发布于 2021-09-26 23:22

相关推荐

10-09 19:35
门头沟学院 Java
洛必不可达:java的竞争激烈程度是其他任何岗位的10到20倍
点赞 评论 收藏
分享
有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务