題目:
插入排序演算法:
插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。
每次迭代中,插入排序只從輸入資料中移除乙個待排序的元素,找到它在序列中適當的位置,並將其插入。
重複直到所有輸入資料插入完為止。
示例 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個鍊錶指標分別表示當前元...