比較版本號(iHandy校招筆試程式設計題)

2021-09-25 14:12:51 字數 1285 閱讀 2718

示例 1:

輸入: version1 = "0.1", version2 = "1.1"

輸出: -1

示例 2:

輸入: version1 = "1.0.1", version2 = "1"

輸出: 1

示例 3:

輸入: version1 = "7.5.2.4", version2 = "7.5.3"

輸出: -1

示例 4:

輸入:version1 = "1.01", version2 = "1.001"

輸出:0

解釋:忽略前導零,「01」 和 「001」 表示相同的數字 「1」。

示例 5:

輸入:version1 = "1.0", version2 = "1.0.0"

輸出:0

解釋:version1 沒有第**修訂號,這意味著它的第**修訂號預設為 「0」

public int compareversion(string version1, string version2) 

return 0;

}

精簡版

需要注意的是 短的string要有補0操作

1、如果用「.」作為分隔的話,必須是如下寫法:string.split("\\."),這樣才能正確的分隔開,不能用string.split(".");

2、如果用「|」作為分隔的話,必須是如下寫法:string.split("\\|"),這樣才能正確的分隔開,不能用string.split("|");

「.」和「|」都是轉義字元,必須得加"\\";

3、如果在乙個字串中有多個分隔符,可以用「|」作為連字元,比如:「a=1 and b =2 or c=3」,把三個都分隔出來,可以用string.split("and|or");

split分隔符總結

1.字元"|",   "*"  ,  "+"  , "." 得加上轉義字元,前面加上"\\"。

2.而如果是"\",那麼就得寫成"\\\\"(4個)。

3.如果乙個字串中有多個分隔符,可以用"|"作為連字元。

摘自 

關於split()方法, 寫的非常詳細,概括起來

string split(string regex,int limit)  根據給定正規表示式的匹配拆分此字串。

預設的方法中 limit=0,會執行切割無限次並且去掉該陣列最後的所有空字串

limit > 0 則會切割 不大於limit次,切割按照從左到右進行

limit < 0 則無限次,但是會保留所有的空字串

比較版本號

題目 比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 ...

比較版本號

比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 也不是...

比較版本號

比較版本號 比較兩個版本號 version1 和 version2。如果 version1 version2 返回1,如果 version1 version2 返回 1,除此之外返回0。你可以假設版本字串非空,並且只包含數字和.字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5不是 兩個半 ...