要求是用插入排序的算法去排列一个链表。 /** * 本代码由九章算法编辑提供。没有版权欢迎转发。 * - 九章算法致力于帮助更多中国人找到好的工作,教师团队均来自硅谷和国内的一线大公司在职工程师。 * - 现有的面试培训课程包括:九章算法班,系统设计班,九章强化班,Java入门与基础算法班, * - 更多详情请见官方网站:http://www./ */ public class Solution { public ListNode insertionSortList(ListNode head) { ListNode dummy = new ListNode(0); // 这个dummy的作用是,把head开头的链表一个个的插入到dummy开头的链表里 // 所以这里不需要dummy.next = head; while (head != null) { ListNode node = dummy; while (node.next != null && node.next.val < head.val) { node = node.next; } ListNode temp = head.next; head.next = node.next; node.next = head; head = temp; } return dummy.next; } } |
|
来自: 雪柳花明 > 《LeetCode》