165 Compare Version Numbers 比較版本號
阿新 • • 發佈:2018-04-06
序列 logs 兩個 body size string 一半 3.3 例如
比較兩個版本號 version1 和 version2。
如果 version1 大於 version2 返回 1,如果 version1 小於 version2 返回 -1, 除此以外 返回 0。
您可能認為版本字符串非空,並且只包含數字和 . 字符。
這個 . 字符不代表小數點,而是用於分隔數字序列。
例如,2.5 不是“兩個半”或“差一半到三個版本”,它是第二個第一級修訂版本的第五個二級修訂版本。
以下是版本號排序的示例:
0.1 < 1.1 < 1.2 < 13.37
詳見:https://leetcode.com/problems/compare-version-numbers/description/
class Solution { public: int compareVersion(string version1, string version2) { int val1=0,val2=0; int idx1=0,idx2=0; while(idx1<version1.size()||idx2<version2.size()) { val1=0; while(idx1<version1.size()) { if(version1[idx1]==‘.‘) { ++idx1; break; } val1=val1*10+version1[idx1++]-‘0‘; } val2=0; while(idx2<version2.size()) { if(version2[idx2]==‘.‘) { ++idx2; break; } val2=val2*10+version2[idx2++]-‘0‘; } if(val1>val2) { return 1; } else if(val1<val2) { return -1; } } return 0; } };
參考:https://www.cnblogs.com/grandyang/p/4244123.html
165 Compare Version Numbers 比較版本號