147. Insertion Sort List

Posted 阿怪123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了147. Insertion Sort List相关的知识,希望对你有一定的参考价值。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode insertionSortList(ListNode head) {
        if(head==null)
            return null;
        ListNode next=head;
        ListNode newhead=null;
        while(next!=null)
        {
            ListNode temp=next;
            next=next.next;
            temp.next=null;
            //开始插入
            if(newhead==null)
            {
                newhead=temp;
            }
            else
            {
                ListNode i=newhead;
                ListNode tail=null;
                while(i!=null)
                {
                    if(i.val>temp.val)
                    {
                        if(tail!=null)
                            tail.next=temp;
                        else
                            newhead=temp;
                        temp.next=i;
                        break;
                    }
                    tail=i;
                    i=i.next;
                }
                if(i==null)
                {
                    tail.next=temp;
                }
            }
        }
        return newhead;
        
    }
}

 

以上是关于147. Insertion Sort List的主要内容,如果未能解决你的问题,请参考以下文章

#Leetcode# 147. Insertion Sort List

147. Insertion Sort List

147. Insertion Sort List

147. Insertion Sort List

[LeetCode] 147. Insertion Sort List

147. Insertion Sort List - Medium