Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character.
The . character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5 is not “two and a half” or “half way to version three”, it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
注意一下 .
数目不一样的时候用0代替就好
[code]
public class Solution {
public int compareVersion(String version1, String version2)
{
int i=0, j=0;
while(i<version1.length() || j<version2.length())
{
int v1=0, v2=0;
if(i==version1.length())v1=0;
else
{
int temp=i;
while(i<version1.length() && version1.charAt(i)!='.')i++;
v1=Integer.parseInt(version1.substring(temp,i));
}
if(i<version1.length())i++;
if(j==version2.length())v2=0;
else
{
int temp=j;
while(j<version2.length() && version2.charAt(j)!='.')j++;
v2=Integer.parseInt(version2.substring(temp,j));
}
if(j<version2.length())j++;
if(v1<v2)return -1;
else if(v1>v2)return 1;
}
return 0;
}
boolean valid(String s)
{
return true;
}
}