zoukankan      html  css  js  c++  java
  • 【Leedcode】Insertion Sort List

    Sort a linked list using insertion sort.

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *insertionSortList(ListNode *head) {
    12         ListNode dummy(INT_MIN);
    13         ListNode *cur = head;
    14         while (cur != nullptr) {
    15             ListNode *pos = findInsertPos(&dummy, cur->val);
    16             ListNode *temp = cur->next;
    17             cur->next = pos->next;
    18             pos->next = cur;
    19             cur = temp;
    20         }
    21         return dummy.next;
    22     }
    23 private:
    24     ListNode *findInsertPos(ListNode *before_head, int key) {
    25         ListNode *pre = nullptr, *cur = before_head;
    26         while (cur != nullptr && cur->val <= key) {
    27             pre = cur;
    28             cur = cur->next;
    29         }
    30         return pre;
    31     }
    32 };
  • 相关阅读:
    主外键 子查询
    正则表达式
    css3 文本效果
    css3 2d
    sql 基本操作
    插入 视频 音频 地图
    j-query j-query
    document
    js dom 操作
    js
  • 原文地址:https://www.cnblogs.com/dengeven/p/3778955.html
Copyright © 2011-2022 走看看