题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
方法:先根据"."进行字符串分割,然后将各部分的数字转为Integer,依次比较即可
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 比较版本号
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
public int compare (String version1, String version2) {
// write code here
String[]partV1=version1.split("(\\.)");
String[]partV2=version2.split("\\.");
int lenV1=partV1.length,lenV2=partV2.length;
Integer [] v1;
Integer [] v2;
if(lenV1>lenV2){
v1=new Integer[lenV1];
v2=new Integer[lenV1];
for(int i=0;i<lenV1;i++){
v1[i]=Integer.valueOf(partV1[i]);
v2[i]=0;
}
for(int i=0;i<lenV2;i++)
v2[i]=Integer.valueOf(partV2[i]);
}else{
v1=new Integer[lenV2];
v2=new Integer[lenV2];
for(int i=0;i<lenV2;i++){
v2[i]=Integer.valueOf(partV2[i]);
v1[i]=0;
}
for(int i=0;i<lenV1;i++)
v1[i]=Integer.valueOf(partV1[i]);
}
for(int i=0;i<v1.length;i++)
if(v1[i]>v2[i])
return 1;
else if(v1[i]<v2[i])
return -1;
return 0;
}
}
查看12道真题和解析