题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
int compare(char* version1, char* version2 ) {
int v1=0,v2=0;
while(*version1!='\0'||*version1!='\0'){
v1=0;
v2=0;
//1.找到.的位置,并把.前面的字符串转化成十进制的数字
while(*version1!='.'&&*version1!='\0'){
v1=v1*10+*version1-48;
version1++;
}
while(*version2!='.'&&*version2!='\0'){
v2=v2*10+*version2-48;
version2++;
}
//2.比较数值的大小,如果v1大于v2返回1,反之返回-1或者0
if(v1>v2){
return 1;
}else if(v1<v2){
return -1;
}
if(*version1>0){
version1++;
}
if(*version2>0){
version2++;
}
if(*version1=='\0'&&*version1=='\0'){
break;
}
}
//4.最后返回0
if(version1=='\0'&&version2!='\0'){
return -1;
}else if(version1!='\0'&&version2=='\0'){
return 1;
}
return 0;
}#感觉此题思路比较简单来一个python版本的解答##腾讯##字节跳动##美团##阿里巴巴#