/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* @author Senky
* @date 2023.04.26
* @par url https://www.nowcoder.com/creation/manager/content/584337070?type=column&status=-1
* @brief 将每一段版本号转换成十进制数,再相减
* 等于0则对比下一段版本号
* 不等于0则可直接返回结果
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
#include <string.h>
int NumToDec(char** str)
{
int dec = 0;
while(**str != '.' && **str != '\0')
{
dec = dec * 10 + **str - '0';
(*str)++;
}
if(**str != '\0') (*str)++;//此时指针指向'.',因此将指针指向下一个版本号的内容
return dec;
}
int compare(char* version1, char* version2 ) {
// write code here
int ret = 0;
while(*version1 != '\0' || *version2 != '\0')
{
ret = NumToDec(&version1) - NumToDec(&version2);
if(ret>0)
{
ret = 1;
break;
}
else if(ret < 0)
{
ret = -1;
break;
}
else if(ret == 0)
{
ret = 0;
continue;
}
}
return ret;
}