Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7459736

Browse files
compare version numbers
1 parent152b7c6 commit7459736

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
packageeasy;
2+
3+
publicclassCompareVersionNumbers {
4+
5+
publicstaticintcompareVersion(Stringversion1,Stringversion2) {
6+
String[]v1s =version1.split("\\.");//escaping it is very important! Otherwise, it's not going to work as expected!
7+
String[]v2s =version2.split("\\.");
8+
intlen = (v1s.length <v2s.length) ?v2s.length :v1s.length;
9+
for(inti =0;i <len;i++){
10+
if(v1s.length ==i){
11+
while(i <len){
12+
if(Integer.parseInt(v2s[i]) >0)return -1;
13+
i++;
14+
}
15+
}elseif(v2s.length ==i){
16+
while(i <len){
17+
if(Integer.parseInt(v1s[i]) >0)return1;
18+
i++;
19+
}
20+
}else {
21+
if(Integer.parseInt(v1s[i]) >Integer.parseInt(v2s[i]))return1;
22+
elseif(Integer.parseInt(v2s[i]) >Integer.parseInt(v1s[i]))return -1;
23+
elsecontinue;//this line is not necessary, but just to make the logic more clear
24+
}
25+
}
26+
return0;
27+
}
28+
29+
publicstaticvoidmain(String...args){
30+
// String version1 = "1.1";
31+
// String version2 = "1.2";//should return -1
32+
33+
// String version1 = "1.0.1";
34+
// String version2 = "1";//should return 1
35+
36+
Stringversion1 ="1.0";
37+
Stringversion2 ="1";//should return 0
38+
39+
/**"1.0.1", "1"*/
40+
System.out.println(compareVersion(version1,version2));
41+
}
42+
43+
}

‎README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
|189|[Rotate Array](https://leetcode.com/problems/rotate-array/)|[Solution](../../blob/master/EASY/src/easy/RotateArray.java)| O(n)|O(n), could be optimized to O(1) | Easy
3333
|173|[Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/)|[Queue](../../blob/master/MEDIUM/src/medium/BSTIterator_using_q.java)[Stack](../../blob/master/MEDIUM/src/medium/BSTIterator_using_stack.java)| O(1)|O(h)| Medium|
3434
|172|[Factorial Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes/)|[Solution](../../blob/master/EASY/src/easy/FactorialTrailingZeroes.java)| O(logn)|O(1)| Easy
35+
|165|[Compare Version Numbers](https://leetcode.com/problems/compare-version-numbers/)|[Solution](../../blob/master/EASY/src/easy/CompareVersionNumbers.java)| O(n)|O(1)| Easy|
3536
|162|[Find Peak Element](https://leetcode.com/problems/find-peak-element/)|[Solution](../../blob/master/MEDIUM/src/medium/FindPeakElement.java)| O(1)|O(logn)/O(n)| Binary Search|
3637
|155|[Min Stack](https://leetcode.com/problems/min-stack/)|[Solution](../../blob/master/EASY/src/easy/MinStack.java)| O(1)|O(n) | Easy| Stack
3738
|140|[Word Break II](https://leetcode.com/problems/word-break-ii/)|[Solution](../../blob/master/HARD/src/hard/WordBreakII.java)| ? |O(n^2) | Hard| Backtracking/DFS

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp