leetcode筆記 147對鍊錶進行插入排序

2021-09-11 19:12:17 字數 879 閱讀 4836

題目:

插入排序演算法:

插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。

每次迭代中,插入排序只從輸入資料中移除乙個待排序的元素,找到它在序列中適當的位置,並將其插入。

重複直到所有輸入資料插入完為止。

示例 1:

輸入: 4->2->1->3

輸出: 1->2->3->4

示例 2:

輸入: -1->5->3->4->0

輸出: -1->0->3->4->5

思路:本題是對鍊錶進行插入排序,下面是直接找到執行時間最快的**執行最快的**是插入排序。

我自己在寫的**的時候碰到了很多問題,要注意。

class solution

//把cur節點插入到l1和l2之間

l1.next = cur;

cur.next = l2;//插入合適位置

cur = pre.next;//指向下乙個待處理節點

}else

}return aux.next;}}

執行最快**:

public class solution 

pre.next = cur.next;

if (before == null)

head = cur;

else

before.next = cur;

cur.next = after;

}cur = pre.next;

} return head;

}}

Leetcode 147 對鍊錶進行排序

對鍊錶進行插入排序。插入排序演算法 插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。每次迭代中,插入排序只從輸入資料中移除乙個待排序的元素,找到它在序列中適當的位置,並將其插入。重複直到所有輸入資料插入完為止。示例 1 輸入 4 2 1 3 輸出 1 2 3 4 到了鍊...

LeetCode第147題 對鍊錶進行插入排序

解題思路 把第乙個當做有序的結點,剩下的一次拿下來頭插或者尾插或者中間插三種情況,當你拿下來的時候一定要記得保留下乙個結點位址,否則你插完乙個之後就找不到下乙個了。只有第乙個數有序,其他的數只要比他小,就不斷的往前插 但是這個題所畫的 是不適合鍊錶的插入的,這個 只適合陣列的插入 typedef s...

LeetCode 147 對鍊錶進行插入排序

插入排序演算法 插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。每次迭代中,插入排序只從輸入資料中移除乙個待排序的元素,找到它在序列中適當的位置,並將其插入。重複直到所有輸入資料插入完為止。方法1 嚴格按照演算法說明,在原始列表中進行操作,利用4個鍊錶指標分別表示當前元...