• LeetCode——Insertion Sort List


    LeetCode——Insertion Sort List

    Question

    Sort a linked list using insertion sort.

    Solution

    我的解法,假设第一个节点都比其他节点小,这样感觉好移动指针一些,所以添加了一个额外的最小的节点。

    Code

    class Solution {
    public:
        ListNode *insertionSortList(ListNode *head) {
            if (head == NULL)
                return head;
    
            ListNode* first = new ListNode(INT_MIN);
            first->next = head;
            head = first;
    
            ListNode* p2 = head->next;
            ListNode* p2pre = p2;
            while (p2) {
                ListNode* p1 = head;
                ListNode* p1pre = p1;
                while (p1 != p2) {
                    if (p1->val > p2->val) {
                    	p2pre->next = p2->next;
                        p1pre->next = p2;
                        p2->next = p1;
                        p2 = p2pre;
                        break;
                    } else {
                        p1pre = p1;
                        p1 = p1->next;
                    }
    
    
                }
                p2pre = p2;
                p2 = p2->next;
            }
    
            return head->next;
        }
    };
    
  • 相关阅读:
    soa soap http rpc
    Work Queues(点对多)
    Hello World模式
    RabbitMQ 概念
    RabbitMQ安装
    gradle ssh 插件
    gradle基础配置
    将java打jar包成linux后台服务service
    java 8 日期api
    springboot linux启动方式
  • 原文地址:https://www.cnblogs.com/zhonghuasong/p/7076747.html
Copyright © 2020-2023  润新知