📟作者主页:慢热的陕西人
🌴专栏链接:力扣刷题日记
📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言
文章目录
- 牛客热题:比较版本号
- 题目链接
- 方法一:暴力遍历
- 思路
- 代码
- 复杂度
牛客热题:比较版本号
题目链接
比较版本号_牛客题霸_牛客网 (nowcoder.com)
方法一:暴力遍历
思路
- 将用
.
分割的版本号,进行逐个比较 - 短和更长的比较,默认其之后的版本号为0
代码
int compare(string version1, string version2) {int v1 = 0;int v2 = 0;while(v1 < version1.size() || v2 < version2.size()){int a = 0, b = 0;if(v1 < version1.size()){int pos1 = version1.find('.', v1);if(pos1 == string::npos) pos1 = version1.size();a = atoi(version1.substr(v1, pos1 + 1 - v1 + 1).c_str());v1 = pos1 + 1;}if(v2 < version2.size()){int pos2 = version2.find('.', v2);if(pos2 == string::npos) pos2 = version2.size(); b = atoi(version2.substr(v2, pos2 + 1 - v2 + 1).c_str());v2 = pos2 + 1;}if(a == b) continue;else if(a < b) return -1;else return 1;}return 0;}
复杂度
时间复杂度:O(N) ,只遍历了一次对应字符串
空间复杂度:O(1),使用了常数个变量