使用插入排序对链表进行排序。
Sort a linked list using insertion sort.
这种题目其实和反转链表是很相似的。只要改变之前从后向前进行插入的模式为从前向后的插入就可以了,因为在链表上没有办法获得前向节点,之后从前往后遍历,所以这边只要转变一下思想就可以了。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode insertionSortList(ListNode head) { if(head == null || head.next == null)return head; ListNode newHead