1. 题目

比较两个版本号 version1 和 version2。
如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。

你可以假设版本字符串非空,并且只包含数字和 . 字符。

. 字符不代表小数点,而是用于分隔数字序列。

例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。

你可以假设版本号的每一级的默认修订版号为 0。例如,版本号 3.4 的第一级(大版本)和第二级(小版本)修订号分别为 3 和 4。其第三级和第四级修订号均为 0。

示例 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”。提示:
版本字符串由以点 (.) 分隔的数字字符串组成。这个数字字符串可能有前导零。
版本字符串不以点开始或结束,并且其中不会有两个连续的点。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/compare-version-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int compareVersion(string v1, string v2) {int n1, n2, i, j;for(i=0,j=0; i < v1.size() || j < v2.size(); ++i,++j){n1=n2=0;while(i < v1.size() && v1[i] != '.')n1 = n1*10 + v1[i++]-'0';while(j < v2.size() && v2[j] != '.')n2 = n2*10 + v2[j++]-'0';if(n1 > n2)return 1;else if(n1 < n2)return -1;}return 0;}
};

LeetCode 165. 比较版本号相关推荐

  1. 2022-1-15 Leetcode 165.比较版本号

    class Solution {public:int compareVersion(string version1, string version2) {int sum1 = 0,sum2 = 0;i ...

  2. 165. 比较版本号

    165. 比较版本号 给你两个版本号 version1 和 version2 ,请你比较它们. 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接.每个修订号由 多位数字 组成,可能包含 前导 ...

  3. ✨题目虽简单,题解依旧赞【力扣165. 比较版本号】

    文章目录

  4. LeetCode整理----合集一

    一:LeetCode[2]  两个数相加 1:需要考虑进位的问题,需要使用一个变量存储进位标识,每一次都去判断,而且在一个链表判断完成之后,另外一个链表,也是需要单独考虑进位问题的 2:在计算结束后, ...

  5. LeetCode(1-200)

    目录 LeetCode 1. 两数之和 LeetCode 2. 两数相加 LeetCode 3. 无重复字符的最长子串 LeetCode 4. 寻找两个正序数组的中位数 LeetCode 5. 最长回 ...

  6. 笔记本题目 复习(一)

    文章目录 数组中出现次数超过一半的数字 `哈希表的经典应用` 剑指offer 11 旋转数组的最小数字 leetcode 33 搜索旋转排序数组 I 判断一个字符串s1是不是包含另一个字符串s2 le ...

  7. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...

  8. leetcode刷的一些杂题

    总结 1:用s.charAt()比较字符是否等于或者不等于某个字符的时候,要用单引号,双引号这个错误就太low了 s.charAt(i) != ' ' 二维数组排序 Arrays.sort(inter ...

  9. leetcode刷题目录总结

    题目 题目 技巧 相似的题目 其他 1. 无序数组中找出目标为target的两个数 先定义下一个数,然后找两位的数是否存在 高频, 大厂刷题班, 第27节 2.逆序链表两数相加 链表.各位加法 高频, ...

最新文章

  1. html页面内容改变,但是网页内容不变
  2. Windows 用来定位 DLL 的搜索路径
  3. 书评 - 《展望敏捷软件测试》
  4. 自定义控件——旋转菜单
  5. [linux] 多进程和多线程
  6. Table 'barfoo_datacenter_config.parttemplates' doesn't exist------Mysql
  7. Mysql中文乱码问题解决
  8. 猜数(二分、线段树)
  9. python xlwt操作excel
  10. vsftpd服务详解
  11. 【软考 系统架构设计师】案例分析① 解题技巧
  12. 简明 Python 教程
  13. Latex排版学习笔记(1)——希腊字母表及其在latex中的表示
  14. LivePlayer H5播放器(实时视频和历史视频)
  15. 如何把公众号的内容同步到头条自媒体号上?
  16. 早该消失的埃菲尔铁塔为何存在至今?
  17. 前端实现文件上传(点击+拖拽)
  18. vue项目 添加全局水印或某个指定页面水印 源码
  19. php 如何将富文本内容输出到word里面且添加页眉和页脚
  20. Linux下useradd与adduser的区别

热门文章

  1. redistemplate怎么修改数据_如何使用RedisTemplate访问Redis数据结构?
  2. REST framework 权限管理源码分析
  3. pandas用众数填充缺失值_python数据分析包|Pandas-02之缺失值(NA)处理
  4. Install Python3.6 on Amazon Linux/EC2 在Amazon Linux实例中安装使用Python3.6
  5. 抽象类(Abstract)和接口的不同点、共同点(Interface)。
  6. ubuntu16.04下安装NS-2.35以及对simple例的理解
  7. 14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例
  8. Swift泛型Protocol对比C#泛型Interface
  9. swagger core 和 swagger ui 如何关联【窥探】
  10. Android中Activity启动模式