比较版本号
题目描述
如果version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.
输入的version字符串非空,只包含数字和字符.。.字符不代表通常意义上的小数点,只是用来区分数字序列。例如字符串2.5并不代表二点五,只是代表版本是第一级版本号是2,第二级版本号是5.
代码
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[] s1 = version1.split("."); 没有转义字符,分割后为0个字符串
String[] s1 = version1.split("\\.");
String[] s2 = version2.split("\\.");
int l1 = s1.length;
int l2 = s2.length;
for(int i=0, j=0; i<l1 && j<l2; i++,j++){
if( Integer.parseInt(s1[i]) > Integer.parseInt(s2[i]) ) return 1;
else if( Integer.parseInt(s1[i]) < Integer.parseInt(s2[i]) ) return -1;
}
if(l1 > l2) return 1;
else if(l1 < l2) return -1;
return 0;
}
}