File tree 2 files changed +65
-1
lines changed
2 files changed +65
-1
lines changed Original file line number Diff line number Diff line change
1
+ class ListNode {
2
+ constructor ( val , next ) {
3
+ this . val = ( val === undefined ? 0 : val ) ;
4
+ this . next = ( next === undefined ? null : next ) ;
5
+ }
6
+ }
7
+
8
+ /**
9
+ * @param {ListNode } head
10
+ * @return {ListNode }
11
+ */
12
+ const deleteDuplicates = ( head ) => {
13
+ let result = head ;
14
+
15
+ while ( head ) {
16
+ let curr = head ;
17
+ while ( head . next && curr . val === head . next . val ) {
18
+ head . next = head . next . next ;
19
+ }
20
+ head = head . next ;
21
+ }
22
+
23
+ console . log ( "result" )
24
+ // console.log(result)
25
+ while ( result ) {
26
+ console . log ( result . val )
27
+ result = result . next ;
28
+ }
29
+
30
+ return result ;
31
+ }
32
+
33
+ deleteDuplicates (
34
+ new ListNode ( 1 ,
35
+ new ListNode ( 1 ,
36
+ new ListNode ( 1 ,
37
+ new ListNode ( 2 ,
38
+ new ListNode ( 2 ,
39
+ new ListNode ( 2 ,
40
+ new ListNode ( 3 ,
41
+ new ListNode ( 3
42
+ )
43
+ )
44
+ )
45
+ )
46
+ )
47
+ )
48
+ )
49
+ )
50
+ )
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ class ListNode {
9
9
* @param {ListNode } head
10
10
* @return {ListNode }
11
11
*/
12
- const deleteDuplicates = ( head ) => {
12
+ const deleteDuplicates1 = ( head ) => {
13
13
let map = new Map ( ) , dummy = new ListNode ( ) , result = dummy ;
14
14
15
15
while ( head ) {
@@ -24,3 +24,17 @@ const deleteDuplicates = (head) => {
24
24
25
25
return result . next ;
26
26
}
27
+
28
+ const deleteDuplicates = ( head ) => {
29
+ let result = head ;
30
+
31
+ while ( head ) {
32
+ let curr = head ;
33
+ while ( head . next && curr . val === head . next . val ) {
34
+ head . next = head . next . next ;
35
+ }
36
+ head = head . next ;
37
+ }
38
+
39
+ return result ;
40
+ }
You can’t perform that action at this time.
0 commit comments