https://leetcode-cn.com/problems/compare-version-numbers/
本人用的比较中规中矩的方法,先对version1和version2字符串分别通过'.'符号划分为两个字符串数组,再通过比较这两个数组里面的元素作出判断,如果有优化的思路或者更好的方案希望各路大神不吝赐教。
执行结果:
代码:
public class Solution {
public int CompareVersion(string version1, string version2) {
string[] versions1 = version1.Split('.');
string[] versions2 = version2.Split('.');
// int len1 = versions1.Length;
// int len2 = versions2.Length;
for(int i = 0;i<versions1.Length;i++)
{
int.TryParse(versions1[i],out int ver1);
if(i < versions2.Length)
{
int.TryParse(versions2[i],out int ver2);
if(ver1 == ver2)
{
continue;
}
else if(ver1>ver2)
{
return 1;
}
else
{
return -1;
}
}
else if(ver1 == 0)
{
continue;
}
else
{
return 1;
}
}
for(int j = versions1.Length;j<versions2.Length;j++)
{
int.TryParse(versions2[j],out int ver2);
if(ver2 > 0)
return -1;
}
return 0;
}
}