题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 比较版本号
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
#include <stdio.h>
#include <string.h>
void stringToArray(char* str, int* arr,int *count) {
char* token = strtok(str, ".");
while (token != NULL) {
arr[*count] = atoi(token);
token = strtok(NULL, ".");
(*count)++;
}
}
int compare(char* version1, char* version2 ) {
// write code here
int count = 0,count1= 0,count2 = 0;;
int* arr1 = (int*)calloc(sizeof(int), 100);
stringToArray(version1, arr1, &count1);
int* arr2 = (int*)calloc(sizeof(int), 100);
stringToArray(version2, arr2, &count2);
count = count1 > count2 ? count1 : count2;
for (int i = 0; i < count; i++) {
if (arr1[i] > arr2[i]) {
return 1;
}
else if (arr1[i] < arr2[i]) {
return -1;
}
}
free(arr1);
free(arr2);
return 0;
}
快手公司福利 1295人发布
查看19道真题和解析