本文主要是介绍力扣HOT100 - 148. 排序链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路:
归并排序
class Solution {public ListNode sortList(ListNode head) {if (head == null || head.next == null) return head;ListNode fast = head.next, slow = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}ListNode temp = slow.next;slow.next = null;ListNode left = sortList(head);ListNode right = sortList(temp);ListNode dum = new ListNode(0);ListNode cur = dum;while (left != null && right != null) {if (left.val < right.val) {cur.next = left;left = left.next;} else {cur.next = right;right = right.next;}cur = cur.next;}cur.next = left != null ? left : right;return dum.next;}
}
这篇关于力扣HOT100 - 148. 排序链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!