File tree Expand file tree Collapse file tree 2 files changed +58
-0
lines changed
S0165-compare-version-numbers Expand file tree Collapse file tree 2 files changed +58
-0
lines changed Original file line number Diff line number Diff line change
1
+ [package ]
2
+ name = " S0165-compare-version-numbers"
3
+ version = " 0.1.0"
4
+ authors = [" xargin <cao1988228@163.com>" ]
5
+ edition = " 2018"
6
+
7
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8
+
9
+ [dependencies ]
Original file line number Diff line number Diff line change
1
+ fn main ( ) {
2
+ println ! ( "Hello, world!" ) ;
3
+ }
4
+
5
+ /*
6
+ * @lc app=leetcode.cn id=165 lang=rust
7
+ *
8
+ * [165] 比较版本号
9
+ */
10
+ impl Solution {
11
+ pub fn compare_version ( version1 : String , version2 : String ) -> i32 {
12
+ let ( v1, v2) = (
13
+ version1
14
+ . split ( "." )
15
+ . map ( |x| x. parse :: < i32 > ( ) . unwrap ( ) )
16
+ . collect :: < Vec < _ > > ( ) ,
17
+ version2
18
+ . split ( "." )
19
+ . map ( |x| x. parse :: < i32 > ( ) . unwrap ( ) )
20
+ . collect :: < Vec < _ > > ( ) ,
21
+ ) ;
22
+ for i in 0 ..( v1. len ( ) . max ( v2. len ( ) ) ) {
23
+ match ( v1. get ( i) , v2. get ( i) ) {
24
+ ( Some ( v1i) , Some ( v2i) ) => {
25
+ if v1i > v2i {
26
+ return 1 ;
27
+ }
28
+ if v1i < v2i {
29
+ return -1 ;
30
+ }
31
+ }
32
+ ( Some ( v1i) , None ) => {
33
+ if v1i > & 0 {
34
+ return 1 ;
35
+ }
36
+ }
37
+ ( None , Some ( v2i) ) => {
38
+ if v2i > & 0 {
39
+ return -1 ;
40
+ }
41
+ }
42
+ _ => { }
43
+ }
44
+ }
45
+
46
+ 0
47
+ }
48
+ }
49
+
You can’t perform that action at this time.
0 commit comments