/*
Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character.
The . character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5 is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
*/
/*
切割字符串,如果長度為1,補足為2
Error:可能會出現(xiàn)多個版本,因此需要根據(jù)兩個版本中的居多者補齊,然后
輸入一個比較函數(shù),比較每一個子版本
*/
func compareVersion(_ version1: String, _ version2: String) -> Int {
var v1Array = version1.components(separatedBy: ".")
var v2Array = version2.components(separatedBy: ".")
let versionLength = max(v1Array.count, v2Array.count)
for _ in 0..<versionLength-v1Array.count {
v1Array.append("0")
}
for _ in 0..<versionLength-v2Array.count {
v2Array.append("0")
}
//如果相等,則繼續(xù)比較,如果不等,則直接返回結(jié)果
func compareResult(_ v1: String, _ v2: String) -> Int {
if Int(v1)! > Int(v2)! {
return 1
}
else if Int(v1)! < Int(v2)! {
return -1
}
else {
return 0
}
}
var result = 0
for i in 0..<versionLength {
let ret = compareResult(v1Array[i], v2Array[i])
if ret != 0 {
result = ret
break
}
}
return result
}
compareVersion("1.0.1", "1")
165. Compare Version Numbers
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- Compare two version numbers version1 and version2. If ver...
- 原題鏈接:Compare Version Numbers這道題非常有意思,也有一定的難度,下面先給出我的解法: 代...
- 問題 Compare two version numbers version1 and version2.If v...
- Compare two version numbers version1 and version2.If vers...
- Compare two version numbers version1 and version2.If vers...