165. Compare Version Numbers
来源:互联网 发布:plc编程下载 编辑:程序博客网 时间:2024/06/06 05:30
class Solution {public: queue<int> s1, s2; int m[256]; int compareVersion(string version1, string version2) { m['0'] = 0; m['1'] = 1;m['2'] = 2;m['3'] = 3;m['4'] = 4; m['5'] = 5; m['6'] = 6;m['7'] = 7;m['8'] = 8;m['9'] = 9; getVersions(s1, version1); getVersions(s2, version2); int f1, f2; while(!s1.empty() && !s2.empty()){ f1 = s1.front(); f2 = s2.front(); if(f1 > f2) return 1; else if(f1 < f2) return -1; s1.pop(); s2.pop(); } if(s1.size() > 0){ while(!s1.empty()){ if(s1.front()) return 1; s1.pop(); } } if(s2.size() > 0){ while(!s2.empty()){ if(s2.front()) return -1; s2.pop(); } } return 0; } void getVersions(queue<int> &s, string &version){ int head = 0; for(int i = 0; i < version.size(); ++i){ if(version[i] == '.'){ s.push(simple_str2int(version, head, i-1)); head = i + 1; } } s.push(simple_str2int(version, head, version.size() - 1)); } int simple_str2int(const string &str, int low, int high){ int ans = 0; while(low <= high){ ans = ans * 10 + m[str[low++]]; } return ans; }};
阅读全文
0 0
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- 165. Compare Version Numbers
- [Offer收割]编程练习赛24
- php安装redis扩展
- 斯特林公式
- Linux 内核进程管理之进程ID
- java不同对象属性赋值
- 165. Compare Version Numbers
- 使用函数求最大公约数
- 加载动态效果(圆形转圈)-2
- openlayers3下加载离线瓦片图
- win7系统pagefile.sys占用空间调整
- 20条Linux命令面试问答实例
- [PAT甲级]1015. Reversible Primes (20)(可逆素数判断)
- TCP状态图解
- 加载动态效果(三点变化)-3