题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 比较版本号 * @param version1 string字符串 * @param version2 string字符串 * @return int整型 */ int compare(string version1, string version2) { // write code here int i = 0, j = 0; while (i < version1.size() || j < version2.size()) { int num1 = 0; if (i < version1.size()) { //对形如1.0和1.0.0.0的处理,一个指针到达字符串结尾,另一个没到 //则到达结尾的计0 while (i < version1.size() && version1[i] != '.') { num1 = (version1[i] - '0') + num1 * 10; ++i; } ++i; } int num2 = 0; if (j < version2.size()) { while (j < version2.size() && version2[j] != '.') { num2 = (version2[j] - '0') + num2 * 10; ++j; } ++j; } if (num1 > num2) return 1; else if (num1 < num2) return -1; } return 0; } };