题解 | #比较版本号#
比较版本号
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; } }