165. Compare Version Numbers
来源:互联网 发布:linux sort 0 编辑:程序博客网 时间:2024/06/05 18:31
这道题是比较版本号大小。
注意,版本号并不是一个小数这么简单,因为小数点不一定只有一个。1.1.1也是版本号。
方法是,相同小数点之间的数转换成int来比较。如果一个string已经遍历完了,另一个还没有遍历完,那么atoi函数不会出错,因为atoi("")返回是0;
这道题新建了两个string来存放当前要比较的两个数,比substr好用,可以省些细节上的错误。
class Solution {public: int compareVersion(string version1, string version2) { int n1 = version1.size(), n2 = version2.size(); int i = 0, j = 0, d1 = 0, d2 = 0; string v1, v2; while(i < n1 || j < n2){ while(i < n1 && version1[i] != '.'){ v1.push_back(version1[i]); i++; } d1 = atoi(v1.c_str()); while(j < n2 && version2[j] != '.'){ v2.push_back(version2[j]); j++; } d2 = atoi(v2.c_str()); if(d1 > d2) return -1; v1.clear(); v2.clear(); ++i; ++j; } return 0; }};
阅读全文
0 0
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- MT 200 Financial Institution Transfer for its Own Account金融机构为自己账户转账
- WIN10下VirtualBox使Centos6.7共享文件夹
- hdu 5950 Recursive sequence(递推 快速幂矩阵)
- Java常用集合体系以及区别
- Redis 之redis服务器安装与Java 连接
- 165. Compare Version Numbers
- dijkastra算法实践poj2387
- R
- 大写字母转换为小写字母
- 惊出一身冷汗,raid1其实也不可靠
- 修改rm命令为移动文件到回收站
- linux PCI驱动调用字符设备驱动方式
- 多线程学习记录1
- 设计模式(1)——抽象工厂 AbstractFactory