Skip to content

Instantly share code, notes, and snippets.

@maleck13
Created January 19, 2015 22:16
Show Gist options
  • Save maleck13/f50e4b00d17caf1d30bf to your computer and use it in GitHub Desktop.
Save maleck13/f50e4b00d17caf1d30bf to your computer and use it in GitHub Desktop.
solution vers comparision
public class Solution {
public int compareVersion(String version1, String version2){
String[] parts1;
String[] parts2;
if(version1.contains(".")){
parts1 = version1.split("\\.");
}else{
parts1 = new String[]{version1};
}
if(version2.contains(".")){
parts2 = version2.split("\\.");
}else{
parts2 = new String[]{version2};
}
int ret =0;
String[] longest;
String[] shortest;
boolean version1Longest = false;
if(parts1.length >= parts2.length){
longest = parts1;
shortest = parts2;
version1Longest = true;
}else{
longest = parts2;
shortest = parts1;
}
for(int i=0; i < longest.length; i++){
int int1 = Integer.parseInt(longest[i]);
if(shortest.length -1 >= i){
int int2 = Integer.parseInt(shortest[i]);
if(int1 > int2){
ret = (version1Longest) ? 1 : -1;
break;
}else if(int1 < int2){
ret = (version1Longest) ? -1 : 1;
break;
}
}else if(int1 != 0){
ret= (version1Longest) ? 1 : -1;
break;
}
}
return ret;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment