题解 | 比较版本号 注意字符串转换为整数的式子
比较版本号
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
//字符串转整数吗 是的 但不用转换函数 自己也能实现 就是一个字符减去0的字符值再×10
int i=0,j=0;
int size1=version1.size();
int size2=version2.size();
//只要有一个就继续循环的目的是,只要进入这次循环就能分出谁大谁小。但是如果不这样做就只能返回零了,因为出了循环就只能返回零
while (i<size1||j<size2) {
int sum1=0,sum2=0;
while(i<size1&&version1[i]!='.'){
// sum1+=(version1[i]-'0')*10;
//这句逻辑太错误了我滴妈
sum1=sum1*10+version1[i]-'0';
i++;
}
i++;
while(j<size2&&version2[j]!='.'){
// sum2+=(version2[j]-'0')*10;
sum2=sum2*10+version2[j]-'0';
j++;
}
j++;
if(sum1>sum2)return 1;
else if(sum1<sum2)return -1;
}
return 0;
}
};

查看12道真题和解析