题解 | #链表的插入排序#

链表的插入排序

https://www.nowcoder.com/practice/152bc6c5b14149e49bf5d8c46f53152b

public class Solution {
    public ListNode insertionSortList(ListNode head) {
        ListNode dummy = new ListNode(0);

        while(head != null){
            ListNode node = dummy;

            while(node.next != null && node.next.val < head.val){
                node = node.next;
            }

            ListNode tmp = head.next; //保存head的下一个节点
            head.next = node.next;  //拼接排序后半部分数组
            node.next = head;   //把前半部分排序数组和后半部分凭借
            head = tmp;  // 恢复head的下一个节点
        }

        return dummy.next;
    }
}

全部评论

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务