在写到这道算法题的时候,发现一个问题,
String[] left=version1.split(".");
返回结果为空,经过查阅得知,是split中的正则表达式里的问题,这个 . 代表的意思是任意字符,所以不能用 . 来进行分隔,需要用这种写法:
String[] left=version1.split("\\.");
同时,字符 | * + 前面都得加上 \
而如果是“”,就需要写成 \\
算法题目:
描述
牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等
现在给你2个版本号version1和version2,请你比较他们的大小
版本号是由修订号组成,修订号与修订号之间由一个"."连接。1个修订号可能有多位数字组成,修订号可能包含前导0,且是合法的。例如,1.02.11,0.1,0.2都是合法的版本号
每个版本号至少包含1个修订号。
修订号从左到右编号,下标从0开始,最左边的修订号下标为0,下一个修订号下标为1,以此类推。
比较规则:
一. 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。比如"0.1"和"0.01"的版本号是相等的
二. 如果版本号没有