# 0147. Insertion Sort List
###### tags: `Leetcode` `Medium` `Sort`
Link: https://leetcode.com/problems/insertion-sort-list/description/
## Code
```java=
class Solution {
public ListNode insertionSortList(ListNode head) {
ListNode dummyNode = new ListNode(-5001);
ListNode cur = head;
ListNode pre = dummyNode;
ListNode next = null;
while(cur!=null){
next = cur.next;
//find the right position to insertionSortList
while(pre.next!=null && pre.next.val<cur.val){
pre = pre.next;
}
//insert between pre and pre.next
cur.next = pre.next;
pre.next = cur;
pre = dummyNode;
cur = next;
}
return dummyNode.next;
}
}
```