知识点
链表,排序
解题思路
将全部的节点放到list中,根据val按照从小到大排序,排序完之后记得把最后节点的next指向null,不然可能会出现递归的指向。
Java题解
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ public ListNode sortList (ListNode head) { // write code here List<ListNode> list = new ArrayList<>(); while(head != null) { list.add(head); head = head.next; } list.sort((o1, o2) -> o1.val - o2.val); ListNode ans = new ListNode(0); ListNode curr = ans; for (ListNode listNode : list) { curr.next = listNode; curr = curr.next; } curr.next = null; return ans.next; } }