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;
	}
};
相关推荐
朝朝辞暮i1 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
SHARK_pssm2 小时前
【C++——类和对象(下)】
开发语言·c++·经验分享·笔记
汉克老师2 小时前
GESP2026年9月认证C++二级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
沫璃染墨3 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
可乐ea4 小时前
GitHub Security Lab 开源 Fuzzing Taskflow:让 LLM 智能体自己跑完 C/C++ 模糊测试
jvm·c++·github·模糊测试·mcp·代码agent·智能体自动化
朝朝辞暮i5 小时前
C++ 第 13 课:值传递 —— 为什么函数里改了,外面却没变?
java·c++·算法
无忧.芙桃6 小时前
C++语言原理与实践(十):vector类的底层实现
开发语言·c++·算法
无名猿6 小时前
std::variant 完全指南:类型安全的 union 与 std::visit 用法
c++·stl·标准库·现代c++
无名猿7 小时前
C++ 迭代器五分类与失效场景汇总:一张表避开所有 UB
c++·stl·标准库·踩坑记录
0+1117 小时前
算法 --模拟
c++·算法·leetcode