当前位置: 首页 > article >正文

Leetcode刷题笔记题解(C++):165. 比较版本号

思路:利用小数点来分开求和,判断和是否相等来推断两个版本号是否一致

class Solution {
public:
    int compareVersion(string version1, string version2) {
        int i=0;//记录version1的字符下标
        int j=0;//记录version2的字符下标
        int num1=0;//保存version1的和
        int num2=0;//保存version2的和
        while(i<version1.length()||j<version2.length()){
            //计算version1第一个小数点之前的和
            //这里当前乘以10来减少‘0’位的干扰
            while(i<version1.length()&&version1[i]!='.'){
                num1 = num1+(version1[i]-'0')*10;
                i++;
            }
            //如果为‘.’也需要跳过
            i++;
            //计算version2第一个小数点之前的和
            while(j<version2.length()&&version2[j]!='.'){
                num2 = num2+(version2[j]-'0')*10;
                j++;
            }
            //如果为‘.’也需要跳过
            j++;
            //每次小数点之后判断一下两个和的大小
            if(num1>num2) return 1;
            else if(num1<num2) return -1;
        }
        return 0;
    }
};


http://www.kler.cn/a/161911.html

相关文章:

  • DBeaver 连接 OceanBase Oracle 租户
  • A029-基于Spring Boot的物流管理系统的设计与实现
  • 【C++学习(37)】并发性模式:如生产者-消费者、读写锁等。 架构模式:如MVC、MVVM等。属于23 种设计模式吗? RAII 的关系?
  • GPT-5 要来了:抢先了解其创新突破
  • 【设计模式】行为型模式(二):策略模式、命令模式
  • Bugku CTF_Web——文件上传
  • 安路Anlogic FPGA下载器的驱动安装教程
  • 【mysql】下一行减去上一行数据、自增序列场景应用
  • 2023年4K投影仪怎么选?极米H6 4K高亮版怎么样?
  • Leetcode—1466.重新规划路线【中等】
  • 【PTA题目】7-7 自守数 分数 15
  • 芯知识 | 如何选择合适的单片机语音芯片?
  • 使用单例模式+观察者模式实现参数配置实时更新
  • 算术运算(这么简单?进来坐坐?)
  • 复杂gRPC之go调用go
  • C++标准模板(STL)- 类型支持 (杂项变换,确定一组类型的公共类型,std::common_type)
  • C#-using处理非托管资源
  • 我不是DBA之慢SQL诊断方式
  • 云原生之深入解析Kubernetes策略引擎对比:OPA/Gatekeeper与Kyverno
  • 【React】路由的基础使用
  • SpringAOP专栏一《使用教程篇》
  • 学习Opencv(蝴蝶书/C++)相关1——4.图形和大型数组类型
  • Java String相关问题
  • StringBoot常用注解(不断添加)
  • ncnn模型部署——使用VS2019把项目打包成DLL文件
  • 【头歌实训】分布式文件系统 HDFS