合併有序鍊錶

2021-10-24 07:39:03 字數 588 閱讀 9995

將兩個有序的鍊錶合併為乙個新鍊錶,要求新的鍊錶是通過拼接兩個鍊錶的節點來生成的,即不開闢新的記憶體空間

首先,為了方便操作鍊錶,我們定義乙個dummyhead,我們遍歷兩個鍊錶,直到其中有乙個到達尾部,則停下來

在遍歷的過程中,我們將元素值小的節點依次鏈在mergerlist的後邊,最後,我們看看哪個鍊錶還有剩餘的節點,將其鏈在mergelist的後邊,最後返回合併鍊錶的首節點

**

static

class

solution

else

mergelistpointer = mergelistpointer.next;

// 指標後移

}// 看看哪個鍊錶還有剩餘的部分,將它接在 mergelist 的後面

if(list1poniter != null)

else

// 返回合併後鍊錶的首結點

return dummyhead.next;}}

static

class

listnode

}

合併有序鍊錶

題目描述將兩個有序的鍊錶合併為乙個新鍊錶,要求新的鍊錶是通過拼接兩個鍊錶的節點來生成的。塊 listnode mergetwolists listnode l1,listnode l2 if l2 null if l1 val l2 val else listnode pre target list...

合併有序鍊錶

21.合併兩個有序鍊錶 難度簡單912收藏分享切換為英文關注反饋 將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4class solution def mergetwolists self...

鍊錶 合併有序鍊錶

題目 將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 題解我們這裡利用到了乙個前哨節點,因為兩個鍊錶實際上是已經排好序了,所以我們只需要比較兩個節點誰大誰小,找到小的接上去,然後那個...