标签:leetcode
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
注意!!,小数部分2.5不是比3小0.5,而是在第2个版本的第5个数,即2.5<2.50; 2.50,是在第2的第5个数!!
class Solution { public: int compareVersion(string version1, string version2) { int val1,val2; val1=val2=0; int idex1,idex2; idex1=idex2=0; while(idex1<version1.size()||idex2<version2.size()) { //找第一个的整数部分 while(idex1<version1.size()) { if(version1[idex1]!='.') { val1=val1*10+(version1[idex1]-'0'); idex1++; } else { idex1++; break; } } while(idex2<version2.size()) { if(version2[idex2]!='.') { val2=val2*10+(version2[idex2]-'0'); idex2++; } else { idex2++; break; } } if(val1>val2) return 1; if(val1<val2) return -1; val1=val2=0; } return 0; } };
版权声明:本文为博主原创文章,未经博主允许不得转载。
Compare Version Numbers leetcode
标签:leetcode
原文地址:http://blog.csdn.net/q286989429/article/details/47313583