本文共 1190 字,大约阅读时间需要 3 分钟。
给定两个表示版本的字符串version1和version2,比较两个版本的大小。规定:两个字符串都是非空且不会以'.'开始和结尾,且它们的每个字符都是数字或者'.','.'不代表小数点,而是表示上一个版本号。如果version1 > version2,则返回1;如果version1 < version2,则返回-1;否则返回0.例子:
class Solution { public int compareVersion(String version1, String version2) { String[] strs1 = version1.split("\\."), strs2 = version2.split("\\."); // System.out.println(Arrays.toString(strs1) + ":" + Arrays.toString(strs2)); int i = 0; while (i < strs1.length && i < strs2.length) { if (Long.parseLong(strs1[i]) - Long.parseLong(strs2[i]) > 0) return 1; else if (Long.parseLong(strs1[i]) - Long.parseLong(strs2[i]) < 0) return -1; i++; } while (i < strs1.length) { if (Long.parseLong(strs1[i]) != 0L) return 1; i++; } while (i < strs2.length) { if (Long.parseLong(strs2[i]) != 0L) return -1; i++; } return 0; }}
基础字符串处理题
转载地址:http://rxesi.baihongyu.com/