165. 比较版本号

165. 比较版本号


题目链接:165. 比较版本号

代码如下:

cpp 复制代码
class Solution {
public:
	int compareVersion(string version1, string version2) {
		vector<string> v1 = split(version1, '.');
		vector<string> v2 = split(version2, '.');
		int n = v1.size(), m = v2.size();
		for (int i = 0;i < n || i < m;i++) {
			int ver1 = i < n ? stoi(v1[i]) : 0;
			int ver2 = i < m ? stoi(v2[i]) : 0;
			if (ver1 != ver2) {
				return ver1 < ver2 ? -1 : 1;
			}
		}
		return 0;
	}
private:
	vector<string> split(const string& s, char delim) {
		vector<string> res;
		stringstream ss(s);
		string token;
		while (getline(ss, token, delim)) {
			res.emplace_back(token);
		}
		return res;
	}
};
相关推荐
Mr_Xuhhh8 小时前
介绍一下ref
开发语言·c++·算法
王老师青少年编程8 小时前
2024年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第2题)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
Trouvaille ~8 小时前
【Linux】进程间关系与守护进程详解:从进程组到作业控制到守护进程实现
linux·c++·操作系统·守护进程·作业·会话·进程组
Mr_Xuhhh9 小时前
C++11实现线程池
开发语言·c++·算法
用户254701008889 小时前
类和对象笔记
c++
John_ToDebug9 小时前
Chromium回调机制的隐秘角落:当const &参数遇见base::BindOnce
c++·chrome·性能优化
消失的旧时光-19439 小时前
C++ 拷贝构造、拷贝赋值、移动构造、移动赋值 —— 四大对象语义完全梳理
开发语言·c++
cpp_25019 小时前
P8448 [LSOT-1] 暴龙的土豆
数据结构·c++·算法·题解·洛谷
MSTcheng.9 小时前
【C++】C++智能指针
开发语言·c++·智能指针
云深处@10 小时前
【C++11】部分特性
开发语言·c++