标签:style blog color io for div sp log on
Sort a linked list using insertion sort.
题目意思是用插入排序对单链表进行排序,做法是返回一个新的单链表,每次插入的时候都添加一个新建的节点。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode insertionSortList(ListNode head) { if (head==null || head.next==null) { return head; } ListNode first = new ListNode(head.val); ListNode curr = head.next; ListNode last = first,temp=first; while (curr!=null) { if (curr.val>=last.val) { ListNode newlast = new ListNode(curr.val); last.next=newlast; last=newlast; }else { if (first.val>=curr.val) { ListNode newfirst=new ListNode(curr.val); newfirst.next=first; first=newfirst; }else { temp=first; while (curr.val>temp.val&&curr.val>temp.next.val) { temp=temp.next; } ListNode newmiddle = new ListNode(curr.val); newmiddle.next=temp.next; temp.next=newmiddle; } } curr=curr.next; } return first; } }
标签:style blog color io for div sp log on
原文地址:http://www.cnblogs.com/birdhack/p/3969842.html