Skip to content

Commit

Permalink
feat: add javascript solution to lc problem: No.0147.Insertion Sort L…
Browse files Browse the repository at this point in the history
…ist (doocs#418)
  • Loading branch information
zhaocchen committed May 31, 2021
1 parent 22e883e commit fe0b239
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 0 deletions.
38 changes: 38 additions & 0 deletions solution/0100-0199/0147.Insertion Sort List/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,44 @@ class Solution {
}
```

### **JavaScript**

```js
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var insertionSortList = function(head) {
if (head == null || head.next == null) return head;
let dummy = new ListNode(head.val, head);
let prev = dummy, cur = head;
while (cur != null) {
if (prev.val <= cur.val) {
prev = cur;
cur = cur.next;
continue;
}
let p = dummy;
while (p.next.val <= cur.val) {
p = p.next;
}
let t = cur.next;
cur.next = p.next;
p.next = cur;
prev.next = t;
cur = t;
}
return dummy.next;
};
```

### **...**

```
Expand Down
38 changes: 38 additions & 0 deletions solution/0100-0199/0147.Insertion Sort List/README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,44 @@ class Solution {
}
```

### **JavaScript**

```js
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var insertionSortList = function(head) {
if (head == null || head.next == null) return head;
let dummy = new ListNode(head.val, head);
let prev = dummy, cur = head;
while (cur != null) {
if (prev.val <= cur.val) {
prev = cur;
cur = cur.next;
continue;
}
let p = dummy;
while (p.next.val <= cur.val) {
p = p.next;
}
let t = cur.next;
cur.next = p.next;
p.next = cur;
prev.next = t;
cur = t;
}
return dummy.next;
};
```

### **...**

```
Expand Down
33 changes: 33 additions & 0 deletions solution/0100-0199/0147.Insertion Sort List/Solution.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var insertionSortList = function(head) {
if (head == null || head.next == null) return head;
let dummy = new ListNode(head.val, head);
let prev = dummy, cur = head;
while (cur != null) {
if (prev.val <= cur.val) {
prev = cur;
cur = cur.next;
continue;
}
let p = dummy;
while (p.next.val <= cur.val) {
p = p.next;
}
let t = cur.next;
cur.next = p.next;
p.next = cur;
prev.next = t;
cur = t;
}
return dummy.next;
};

0 comments on commit fe0b239

Please sign in to comment.