题解 | #比较版本号#

比较版本号

https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7

class Solution {
public:
    int compare(string version1, string version2) {
        // write code here
        int i=0,j=0;
        int len1=version1.size();
        int len2 = version2.size();
        while(i<len1 && j<len2)
        {
            int nums1=0 , nums2=0;
            while(i<len1 && version1[i]!='.')
            {
                nums1 = nums1*10 + (version1[i]-'0');
                ++i;
            }
            ++i;
            while(j < len2 && version2[j]!='.')
            {
                nums2 = nums2*10 + (version2[j]-'0');
                ++j;
            }
            ++j;
            if(nums1>nums2)
                return 1;
            else if(nums1<nums2)
                return -1;
        }
        while(i<len1)
        {
            if(version1[i]!='.' && version1[i] >'0')
                return 1;
            ++i;
        }
        while(j<len2)
        {
            if(version1[j]!='.' && version1[j] >'0')
                return -1;
            ++j;
        }
       return 0;
    }
};

全部评论

相关推荐

09-18 20:41
百度_Java
要个offer怎么这...:哈哈哈哈哈哈,我也拿了0x10000000个offer,秋招温啦啦啦,好开心
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务