Skip to content

Commit 8f91786

Browse files
committed
feat: add the solution of Remove Duplicates from Sorted List(083) with kotlin.
1 parent dc658c9 commit 8f91786

File tree

3 files changed

+62
-1
lines changed

3 files changed

+62
-1
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
| [067][067-question] | [Add Binary][067-tips] | [][067-java] | | [][067-kotlin] |
4646
| [069][069-question] | [Sqrt(x)][069-tips] | [][069-java] | | [][069-kotlin] |
4747
| [070][070-question] | [Climbing Stairs][070-tips] | [][070-java] | | [][070-kotlin] |
48-
| [083][083-question] | [Remove Duplicates from Sorted List][083-tips] | [][083-java] | | |
48+
| [083][083-question] | [Remove Duplicates from Sorted List][083-tips] | [][083-java] | | [][083-kotlin] |
4949
| [088][088-question] | [Merge Sorted Array][088-tips] | [][088-java] | | |
5050
| [100][100-question] | [Same Tree][100-tips] | [][100-java] | | |
5151
| [101][101-question] | [Symmetric Tree][101-tips] | [][101-java] | | |
@@ -489,4 +489,5 @@
489489
[067-kotlin]: ./src/_067/kotlin/Solution.kt
490490
[069-kotlin]: ./src/_069/kotlin/Solution.kt
491491
[070-kotlin]: ./src/_070/kotlin/Solution.kt
492+
[083-kotlin]: ./src/_083/kotlin/Solution.kt
492493
[771-kotlin]: ./src/_771/kotlin/Solution.kt

src/_083/kotlin/Solution.kt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package _083.kotlin
2+
3+
import structure.ListNode
4+
5+
/**
6+
* @author relish
7+
* @since 2018/04/23
8+
*/
9+
/**
10+
* Definition for singly-linked list.
11+
* class ListNode(var `val`: Int = 0) {
12+
* var next: ListNode? = null
13+
* }
14+
*/
15+
class Solution {
16+
fun deleteDuplicates(head: ListNode?): ListNode? {
17+
if (head == null) return head
18+
var cur = head
19+
while (cur!!.next != null) {
20+
if (cur.`val` == cur.next.`val`) {
21+
cur.next = cur.next.next
22+
} else {
23+
cur = cur.next
24+
}
25+
}
26+
return head
27+
}
28+
}
29+
30+
fun main(args: Array<String>) {
31+
val n = ListNode(1)
32+
n.next = ListNode(1)
33+
n.next.next = ListNode(2)
34+
n.next.next.next = ListNode(3)
35+
n.next.next.next.next = ListNode(3)
36+
var listNode = Solution().deleteDuplicates(n)
37+
while (listNode != null) {
38+
println(listNode.`val`)
39+
listNode = listNode.next
40+
}
41+
}

tips/083/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Given `1->1->2->3->3`, return `1->2->3`.
1717

1818
题意是删除链表中重复的元素,很简单,我们只需要遍历一遍链表,遇到链表中相邻元素相同时,把当前指针指向下下个元素即可。
1919

20+
Java:
2021
```java
2122
/**
2223
* Definition for singly-linked list.
@@ -42,6 +43,24 @@ class Solution {
4243
}
4344
```
4445

46+
kotlin(224ms/100.00%)
47+
```kotlin
48+
class Solution {
49+
fun deleteDuplicates(head: ListNode?): ListNode? {
50+
if (head == null) return head
51+
var cur = head
52+
while (cur!!.next != null) {
53+
if (cur.`val` == cur.next.`val`) {
54+
cur.next = cur.next.next
55+
} else {
56+
cur = cur.next
57+
}
58+
}
59+
return head
60+
}
61+
}
62+
```
63+
4564

4665
## 结语
4766

0 commit comments

Comments
 (0)