题解 | 比较版本号
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 比较版本号
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
public int compare (String version1, String version2) {
String[] a = version1.split("\\.");
String[] b = version2.split("\\.");
int end = a.length > b.length ? b.length : a.length;
for (int i = 0; i < end; i++) {
if (order(a[i], b[i]) == 0) {
continue;
} else {
return order(a[i], b[i]);
}
}
if (a.length > b.length) {
for (int l = b.length; l < a.length; l++) {
if (Integer.parseInt(a[l]) > 0) {
return 1;
}
if (Integer.parseInt(a[l]) == 0) {
continue;
} else {
return -1;
}
}
}
if (a.length < b.length) {
for (int l = a.length; l < b.length; l++) {
if (Integer.parseInt(b[l]) > 0) {
return 1;
}
if (Integer.parseInt(b[l]) == 0) {
continue;
} else {
return -1;
}
}
}
return 0;
// write code here
}
public static int order(String a, String b) {
for(int j =0;j<a.length();j++){
if(a.charAt(j)=='0'){
a=a.substring(j);
}else{
break;
}
}
for(int j =0;j<b.length();j++){
if(b.charAt(j)=='0'){
b=b.substring(j);
}else{
break;
}
}
if (Integer.parseInt(a) > Integer.parseInt(b)) {
return 1;
}
if (Integer.parseInt(a) == Integer.parseInt(b)) {
return 0;
} else {
return -1;
}
}
}
这是自己转进制;
查看10道真题和解析