题解 | #比较版本号#
比较版本号
http://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
/**
- 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- 比较版本号
- @param version1 string字符串
- @param version2 string字符串
- @return int整型
- C语言声明定义全局变量请加上static,防止重复定义
- C语言声明定义全局变量请加上static,防止重复定义 / int compare(char version1, char* version2 ) { // write code here if(*version1==NULL && *version1==NULL) return 0; else if(*version1==NULL) return -1; else if(*version2==NULL) return 1; else { while(*version1=='0')version1++; while(*version2=='0')version2++; int num1=0; int num2=0; while(*version1!=NULL && *version1!='.') { num1 = (*version1-30) + num1 * 10; version1++; } while(*version2!=NULL && *version2!='.') { num2 = (*version2-30) + num2 * 10; version2++; } if(num1>num2) return 1; else if(num2>num1) return -1; else { version1++; version2++; return compare(version1,version2); } }
}