[LeetCode] Compare Version Numbers
2015-03-10 00:08
274 查看
关于该方法的解释,在博文《[C++杂记] string串切分》中有部分介绍。思路还不是很清晰,文章还会整理~~
</pre><pre name="code" class="cpp">class Solution { public: int compareVersion(string version1, string version2) { const char *versioncc1 = version1.c_str(); const char *versioncc2 = version2.c_str(); char* versionc1 = new char[strlen(versioncc1)]; char* versionc2 = new char[strlen(versioncc2)]; strcpy(versionc1, versioncc1); strcpy(versionc2, versioncc2); char *save1; char *save2; char* token1 = strtok_r(versionc1, ".", &save1); char* token2 = strtok_r(versionc2, ".", &save2); while(token1 != NULL && token2 != NULL) { int token1Int = atoi(token1); int token2Int = atoi(token2); if(token1Int < token2Int) return -1; else if(token1Int > token2Int) return 1; token1 = strtok_r(NULL, ".", &save1); token2 = strtok_r(NULL, ".", &save2); } if(token1==NULL && token2!=NULL) { while(token2) { if( atoi(token2) ) return -1; token2 = strtok_r(NULL, ".", &save2); } }else if(token1!=NULL && token2==NULL) { while(token1) { if( atoi(token1) ) return 1; token1 = strtok_r(NULL, ".", &save1); } }else{ return 0; } } };
相关文章推荐
- LeetCode 165: Compare Version Numbers
- [leetcode] Compare Version Numbers
- [leetcode] Compare Version Numbers
- Leetcode-Compare Version Numbers
- [leetcode] Compare Version Numbers
- 【Leetcode】Compare Version Numbers
- Leetcode: Compare Version Numbers
- LeetCode题解:Compare Version Numbers
- [leetcode]15 Compare Version Numbers
- Compare Version Numbers- LeetCode 165
- leetcode_num165_Compare Version numbers
- leetcode_c++:Compare Version Numbers(165)
- [leetcode] 学习记录——Compare Version Numbers
- leetcode Compare Version Numbers
- Leetcode: Compare Version Numbers
- leetcode--Compare Version Numbers
- leetcode Compare Version Numbers
- LeetCode--Compare Version Numbers
- 【LeetCode-面试算法经典-Java实现】【165-Compare Version Numbers(比较版本号)】
- LeetCode 算法练习 Compare Version Numbers