首页 > 代码库 > [leetcode]Compare Version Numbers
[leetcode]Compare Version Numbers
本人的做法是转化成vector再处理,各种情况就比较简单了。
class Solution {public: int compareVersion(string version1, string version2) { vector<int> v1 = convert(version1); vector<int> v2 = convert(version2); int size = min(v1.size(), v2.size()); for (int i = 0; i < size; i++) { if (v1[i] < v2[i]) { return -1; } else if (v1[i] > v2[i]) { return 1; } } if (v1.size() > size) return 1; if (v2.size() > size) return -1; return 0; } vector<int> convert(string &version) { vector<int> result; int len = version.size(); int num = 0; for (int i = 0; i < len; i++) { if (version[i] == ‘.‘) { result.push_back(num); num = 0; } else { num = num * 10 + (version[i] - ‘0‘); } } result.push_back(num); while (result.back() == 0) { result.pop_back(); } return result; }};
[leetcode]Compare Version Numbers
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。