码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode-Insertion Sort List

时间:2015-03-09 07:01:23      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

Sort a linked list using insertion sort.

 这道题考察了linkedList的知识点,以及insertion sort的基本概念。考察了网上的做法,是建一个dummy node做前置节点, 每次取unsorted list里面的一个节点,记录下下一跳位置,然后把这个点插入到sorted list对应位置。 Insert Sort的做法相当于是每次从原来的List里面删除头节点,再把这个头节点插入到新的List里相应的位置。这个新List全由原来的节点组成,只是变换了顺序/**

 * 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) {
        ListNode dummy =new ListNode(-1);
        while(head != null){
            ListNode node = dummy;
            while(node.next != null && node.next.val < head.val){
                node = node.next;
            }
ListNode temp
= head.next; head.next = node.next; node.next = head; head = temp; } return dummy.next; } }

 

LeetCode-Insertion Sort List

标签:

原文地址:http://www.cnblogs.com/incrediblechangshuo/p/4322654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!