题解 | #比较版本号#

比较版本号

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

#include <string>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串
     * @param version2 string字符串
     * @return int整型
     */
    int compare(string version1, string version2) {
        // write code here
        int start1 = 0;
        int end1 = 0;
        int start2 = 0;
        int end2 = 0;
        int segment1 = 0;
        int segment2 = 0;
        while (true) {
            // 如果 version1 已经遍历结束
            if (start1 >= version1.size()) {
                segment1 = 0;
            }
            // 如果 version1 还未遍历结束
            else {
                while (version1[end1] != '.' && end1 < version1.size()) {
                    end1++;
                }
                segment1 = std::stoi(version1.substr(start1, end1 - start1));
                start1 = end1 + 1;
                end1 = start1;
            }
            // 如果 version2 已经遍历结束
            if (start2 >= version2.size()) {
                segment2 = 0;
            }
            // 如果 version2 还未遍历结束
            else {
                while (version2[end2] != '.' && end2 < version2.size()) {
                    end2++;
                }
                segment2 = std::stoi(version2.substr(start2, end2 - start2));
                start2 = end2 + 1;
                end2 = start2;
            }
            // 比较数据大小
            if (segment1 > segment2) {
                return 1;
            }else if (segment1 < segment2) {
                return -1;
            }
            // 如果两个字符串的修订号都遍历结束,则无需再比较
            if (start1 >= version1.size() && start2 >= version2.size()) {
                return 0;
            }
        }

    }
};

在线编程练习 文章被收录于专栏

C++在线编程练习题解

全部评论

相关推荐

用微笑面对困难:这里面最强的是驾驶证了,可以入职美团大厂,然后直接开启黄马褂人生
点赞 评论 收藏
分享
09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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