资讯专栏INFORMATION COLUMN

Compare Version Numbers LC解题记录

wanglu1209 / 637人阅读

摘要:题目内容比较不同的版本号,并根据大小返回,或。并提醒版本意思是第二代的第五次升级,反正不是数字上的的意思。代码拆分两个字符串这里用最大的长度作为循环范围因为循环范围是最大长度,所以缺的位置补复杂度分析,和分别是两个字符串的长度。

题目内容

比较不同的版本号,并根据大小返回-1,1或0。并提醒2.5版本意思是第二代的第五次升级,反正不是数字上的2.5的意思。

解决思路

直观的想法是,找到比较两个字符串(版本号)的方法,举个例子,1.1.2和1.2.3的比较,那么先比较第一位,两个1相等。那么就再看第二位,1<2,得出结果。
根据这个思路,先把字符串拆分成字符串数组,然后逐个比较即可。

代码
public class Solution {
    public int compareVersion(String version1, String version2) {
        //拆分两个字符串
        String[] v1 = version1.split(".");
        String[] v2 = version2.split(".");
        int l1 = v1.length, l2 = v2.length;
        int len = Math.max(l1,l2);
        //这里用最大的长度作为循环范围
        for(int i = 0; i < len; i++){
            //因为循环范围是最大长度,所以缺的位置补0
            int cur1 = i < l1 ? Integer.valueOf(v1[i]) : 0;
            int cur2 = i < l2 ? Integer.valueOf(v2[i]) : 0;
            if(cur1 < cur2) return -1;
            else if(cur1 > cur2) return 1;
        }
        return 0;
    }
}
复杂度分析

O(m+n),m和n分别是两个字符串的长度。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76391.html

相关文章

  • Strobogrammatic Number 系列 LC解题记录(未完成)

    摘要:所以这题先建立一个对应的,然后扫一遍字符串就可以了。复杂度分析第二题题目内容解决思路一看关键词,通常都是,深搜一遍,挖地三尺,雁过拔毛。复杂度分析第三题题目内容解决思路复杂度分析 该系列共三道题,Company Tag只有一个Google,那就必须要做了。 第一题题目内容 A strobogrammatic number is a number that looks the same ...

    王晗 评论0 收藏0
  • Next Permutation LC解题记录

    摘要:解决思路有一首歌名是下一个天亮,不过和这道题没什么关系。根据这两个例子猜测,需要两个辅助的方法,一个是交换,另一个是逆序。所以第一步的思路就是从后往前找,找一对儿符合要求的相邻数字。这道题的关键在于,找到规律,数学上的规律。 题目内容 给出一个数组,重新排列,返回『下一个排列,题目的描述中还给出了几个例子。 解决思路 有一首歌名是下一个天亮,不过和这道题没什么关系。还有一类题是已有一堆...

    dockerclub 评论0 收藏0
  • Binary Tree Upside Down LC解题记录

    摘要:题目内容因为这道题被锁住了,在写这篇文章时还有天就要过期了,把原题也贴上来。题目要求,树的结构是每个当右边子节点的,它肯定有个,就是它的根节点肯定有个左边子节点,也就是说它是二胎。递归设置终止条件,在空节点或最左边的叶子处终止。 题目内容 Given a binary tree where all the right nodes are either leaf nodes with a...

    Shonim 评论0 收藏0
  • [Leetcode] Compare Version Numbers 比较版本号

    摘要:注意因为方法输入的是一个正则表达式所以不能直接用,而是要用,而的要转义,所有要用代码按照进行分割比对相应的子串如果某个版本号更长,判断其多余部分是否是,如果不是,则较长的较大,否则是一样的。 Compare Version Numbers Compare two version numbers version1 and version2. If version1 > version2...

    FrozenMap 评论0 收藏0
  • [LeetCode] Compare Version Numbers

    Problem Compare two version numbers version1 and version2.If version1 > version2 return 1; if version1 < version2 return -1;otherwise return 0. You may assume that the version strings are non-empty an...

    Alex 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<