您的位置:首页 > 其它

【Leetcode】Insertion Sort List

2015-01-02 20:56 381 查看
Sort a linked list using insertion sort.

简单啦~~~都没debug直接来~~

package testAndfun;

public class sortedLinkedList {
class ListNode {
int val;
ListNode next;

ListNode(int x) {
val = x;
next = null;
}
}

public ListNode insertionSortList(ListNode head) {
if(head==null || head.next == null)
return head;
ListNode newHead = new ListNode(head.val);
ListNode pointer = head.next;

while(pointer!=null){
ListNode innerPointer = newHead;
ListNode next = pointer.next;
if(pointer.val<=newHead.val){
ListNode oldHead = newHead;
newHead = pointer;
newHead.next = oldHead;
}
else{
while(innerPointer.next!=null){
if(pointer.val>innerPointer.val && pointer.val <= innerPointer.next.val){
pointer.next = innerPointer.next;
innerPointer.next = pointer;
}
innerPointer = innerPointer.next;
}
if(innerPointer.next==null && innerPointer.val<pointer.val){
innerPointer.next = pointer;
pointer.next = null;
}
}
pointer = next;
}
return newHead;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: