1 Star 0 Fork 0

MetaverseMobile/leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
165. 比较版本号.cpp 1.75 KB
一键复制 编辑 原始数据 按行查看 历史
class Solution {
public:
int strCmp(const string &a, const string &b) {
int i = 0, j = 0;
while (i < a.size() && a[i] == '0')
i++;
while (j < b.size() && b[j] == '0')
j++;
if (i == a.size() && j == b.size())
return 0;
else if (i == a.size())
return -1;
else if (j == b.size())
return 1;
else if (a.size() - i > b.size() - j)
return 1;
else if (a.size() - i < b.size() - j)
return -1;
else if (a.substr(i) > b.substr(j))
return 1;
else if (a.substr(i) < b.substr(j))
return -1;
return 0;
}
int compareVersion(string version1, string version2) {
int ret1;
int ret2;
stringstream ss1(version1);
stringstream ss2(version2);
string seg1, seg2;
while (true) {
getline(ss1, seg1, '.');
getline(ss2, seg2, '.');
if (seg1.empty() && seg2.empty())
return 0;
else if (seg1.empty())
seg1 = "0";
else if (seg2.empty())
seg2 = "0";
int ret = strCmp(seg1, seg2);
if (ret)
return ret;
seg1.clear(), seg2.clear();
}
return 0;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/MetaverseMobile/leetcode.git
git@gitee.com:MetaverseMobile/leetcode.git
MetaverseMobile
leetcode
leetcode
main

搜索帮助

371d5123 14472233 46e8bd33 14472233