165. Compare Version Numbers
来源:互联网 发布:淘宝怎么打造一个爆款 编辑:程序博客网 时间:2024/06/05 04:07
Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character.
The . character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5 is not “two and a half” or “half way to version three”, it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
思路:先把子version号取出来,对齐,然后从前往后比较。
class Solution {public: int compareVersion(string version1, string version2) { if (version1.empty() || version2.empty()) return 0; vector<int> v1; v1 = splitSubversions(version1); vector<int> v2; v2 = splitSubversions(version2); if (v1.size() > v2.size()) { int diff = v1.size() - v2.size(); //注意这里size会变,要提前取出来 for (int i = 0; i < diff; i++) { v2.push_back(0); } } else if (v1.size() < v2.size()) { int diff = v2.size() - v1.size(); for (int i = 0; i < diff; i++) { v1.push_back(0); } } for (int i = 0; i < v1.size(); i++) { if (v1[i] < v2[i]) { return -1; } else if(v1[i] > v2[i]) { return 1; } } return 0; } vector<int> splitSubversions(string version) { vector<int> versions; stringstream ss(version); int i = 0; while (ss >> i) { versions.push_back(i); if (ss.peek() == '.') { ss.ignore(); } } return versions; }};
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
- Google推荐的图片加载库Glide介绍
- LeetCode OJ-226. Invert Binary Tree(反转二叉搜索树)
- ajaxFileUpload文件上传Jquery插件
- 顺序表应用4:元素位置互换之逆置算法
- 从一个简洁的进度刻度绘制中了解自定义View的思路流程
- 165. Compare Version Numbers
- 工具类
- linux系统下安装jboss服务器
- 小圆点
- 杭电 1201 18岁生日
- Lua学习总结(表达式)
- CF621C (求概率)
- android数据库sqlite的基本使用
- 一个简单的配置文件