日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

0147. Insertion Sort List (M)

 路人甲Java 2022-10-10 發(fā)布于北京

使用插件示例對鏈表進行示例。

插入示例的圖形示例部分示例列表(黑色)。僅包含在第一個元素列表中的第一個元素。當一個
單元從輸入數據中刪除(紅色)并就地插入到示例列表中

插件示例程序:

  1. 插入示例示例,每次重復使用一個輸入元素,并增加一個示例的輸出列表。
  2. 有時在中,插入示例輸入數據中的一個元素,在示例列表中找到它的舊位置,然后將其刪除到那里。
  3. 它重復直到沒有輸入元素。

示例 1:

Input: 4->2->1->3
Output: 1->2->3->4

示例 2:

Input: -1->5->3->4->0
Output: -1->0->3->4->5

題意

對給定的鏈表進行插件示例。

思路

遍歷原鏈表,每次將當前結點從原鏈表中下載,到新鏈表的位置表即可。


代碼實現

爪哇

class Solution {
    public ListNode insertionSortList(ListNode head) {
        ListNode dummy = new ListNode(0);
        
        while (head != null) {
            // 將每一個原結點斷開并取出
            ListNode p = head;
            head = head.next;
            p.next = null;

            // 插入到新鏈表中
            ListNode pre = dummy, cur = dummy.next;
            while (cur != null && cur.val < p.val) {
                cur = cur.next;
                pre = pre.next;
            }
            p.next = cur;
            pre.next = p;
        }
        return dummy.next;
    }
}

JavaScript

/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var insertionSortList = function (head) {
  let dummy = new ListNode()

  while (head) {
    let node = head
    head = head.next
    node.next = null

    let pre = dummy
    let cur = dummy.next
    while (cur && cur.val < node.val) {
      cur = cur.next
      pre = pre.next
    }
    node.next = cur
    pre.next = node
  }

  return dummy.next
}

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多