feat: 165_compare_version_numbers

This commit is contained in:
SquidSpirit 2025-09-24 02:36:58 +08:00
parent 480314c01e
commit c7457e738a
3 changed files with 37 additions and 0 deletions

7
165_compare_version_numbers/Cargo.lock generated Normal file
View File

@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "compare_version_numbers"
version = "0.1.0"

View File

@ -0,0 +1,6 @@
[package]
name = "compare_version_numbers"
version = "0.1.0"
edition = "2024"
[dependencies]

View File

@ -0,0 +1,24 @@
pub struct Solution;
impl Solution {
pub fn compare_version(version1: String, version2: String) -> i32 {
let revisions1: Vec<i32> = version1.split('.').map(|s| s.parse().unwrap()).collect();
let revisions2: Vec<i32> = version2.split('.').map(|s| s.parse().unwrap()).collect();
let mut i: usize = 0;
while i < revisions1.len() || i < revisions2.len() {
let revision1 = revisions1.get(i).unwrap_or(&0);
let revision2 = revisions2.get(i).unwrap_or(&0);
if revision1 < revision2 {
return -1;
} else if revision1 > revision2 {
return 1;
}
i += 1;
}
0
}
}