尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
DeepSeek    LeetCode 165. 比较版本号 Java实现
LeetCode 165. 比较版本号思路双指针法同时遍历两个字符串遇到 . 就停下来取出这一段的修订号进行比较跳过前导零后比较长度和字典序避免 Integer.parseInt 溢出问题。· 如果 version1 version2 返回 1· 如果 version1 version2 返回 -1· 否则返回 0Java 实现classSolution{publicintcompareVersion(Stringversion1,Stringversion2){intn1version1.length(),n2version2.length();inti0,j0;while(in1||jn2){// 取出 version1 当前修订号跳过前导零longnum10;while(in1version1.charAt(i)!.){num1num1*10(version1.charAt(i)-0);i;}i;// 跳过 .// 取出 version2 当前修订号longnum20;while(jn2version2.charAt(j)!.){num2num2*10(version2.charAt(j)-0);j;}j;// 跳过 .if(num1num2)return-1;if(num1num2)return1;}return0;}}关键点说明为什么用 long 而不是 int· 题目没有约束修订号大小Integer.parseInt 可能溢出。用 long 覆盖绝大多数用例若追求严谨可用 BigInteger 或字符串比较。长度不等时怎么办· 循环条件用 i n1 || j n2当某个字符串已经遍历完剩下的按 0 处理。例如 1.0.0 与 1后者剩余位视为 0最终相等返回 0。跳过 . 的技巧· 内层 while 结束后 i 直接跳过 .若字符串已结束多 一次也无影响因为外层会判断 i n1。复杂度· 时间O(max(m, n))m、n 为两字符串长度· 空间O(1)测试用例compareVersion(1.01,1.001)// 0compareVersion(1.0,1.0.0)// 0compareVersion(0.1,1.1)// -1compareVersion(1.0.1,1)// 1compareVersion(7.5.2.4,7.5.3)// -1
RELATED

相关推荐

Ubuntu 24.04.3 开启 root SSH 远程登录:原理、配置与加固

Ubuntu 24.04.3 开启 root SSH 远程登录:原理、配置与加固

拿到一台刚装好的 Ubuntu 24.04.3 LTS,很多人第一件事就是想用 root 账户直接 SSH 远程登陆上去装环境、传文件、跑脚本,结果敲下ssh root服务器IP那一刻直接被拒,密码明明觉得是对的,却始终登不进去。这不是你人品问题&#xff0…

📅 2026/9/28 11:46:51
webbikeshop网上购物系统部署与二次开发指南:JSP+Servlet+MySQL实战

webbikeshop网上购物系统部署与二次开发指南:JSP+Servlet+MySQL实战

简介:山地车网上购物系统是一个完整的JavaWeb项目,基于常用框架开发,可直接导入IDE使用。项目覆盖登录注册、店铺管理、商品浏览与搜索、购买、购物车、下单、支付、发货、收货、评论、商品添加等电商全流程功能,并实现运营商、店…

📅 2026/9/28 11:46:51
超实用VS Code插件推荐:用TaoToken统一Key接入AI编程助手

超实用VS Code插件推荐:用TaoToken统一Key接入AI编程助手

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/28 11:46:51
MORE NEWS

更多资讯

📰

Colossus 2:面向AI推理的分布式计算集群架构解析

1. Colossus 2 不是“超算”,而是为AI推理量身定制的分布式计算集群很多人看到“Colossus 2”和“66万块GB300 GPU”这两个词,第一反应是:又一个破纪录的超级计算机?其实这是个根本性误解。我接触过不少做AI基础设施的同行&#x…

📰

Redis从入门到实战:安装、数据类型与高并发场景全解析

1. 先把Redis装好:下载与安装全流程Redis的使用起点,永远是先把环境跑起来。很多新手第一次接触redis时最容易卡壳的,不是命令记不住,而是“下载什么版本”“怎么安装”“装完怎么验证”。这一节我把常见的安装方式从头到尾捋一遍…

📰

AI研发核心是环境与工具:四层解耦与七件套实战

1. 为什么说“环境和工具才是 AI 研发核心基础设施”不是口号,而是血泪教训刚带完第三个AI项目组时,我拆开三台报废的开发机——两台卡在CUDA版本冲突上反复重装系统超过17次,一台因conda环境污染导致PyTorch 2.0与TensorFlow 2.15无法共存&a…

📰

校园代取快递管理系统毕设实战:JavaWeb全链路搭建与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

移动CM211-1机顶盒刷机全攻略:从拆机认芯到安卓9避坑指南

也许你手里刚好有一台闲置的移动CM211-1机顶盒,正犹豫是扔进抽屉还是折腾一下;也许你已经刷到一半卡在进度条,看着“烧录失败”的提示干瞪眼。这篇文章就把我从拆机、认芯片、选固件到最终跑起安卓9的完整过程摊开讲,顺便把那些容…

📰

创维E900盒子刷机教程:Hi3798MV100非高安版从强刷到当贝桌面

家里那台创维E900系列盒子卡在开机画面进不去系统,或者被运营商预装软件塞满、卡得遥控器按一下等三秒的,不用急着扔。只要你的盒子是海思Hi3798MV100芯片、且属于非高安版,就有很大概率自己动手救回来。这篇文章我按自己的实操顺序&#xff…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬