day17 36 合併兩個排序的鍊錶(鍊錶操作)

2021-10-07 03:24:36 字數 525 閱讀 8137

問題描述:

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。

示例1:

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

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

限制:解法:分別遍歷兩個鍊錶,如果當前比較的兩個值其中乙個小,那麼這個元素所在的序列向下移動,並將這個元素放到新定義的乙個鍊錶的後面,直到某乙個鍊錶為空,停止遍歷,此外由於該鍊錶是有序鍊錶,所以其中乙個鍊錶有剩餘就可以將該鍊錶的剩餘部分放到新鍊錶的後面。返回值即為定義的虛擬頭結點的下乙個位置即dumpy-》next。

class

solution

else}if

(l1) cur-

>next=l1;

else cur-

>next=l2;

return dumpy-

>next;}}

;

合併兩個排序鍊錶

struct listnode class solution else while pstart1 null pstart2 null plast next pstart1 plast pend1 pend1 pend1 next pstart1 pend1 else plast next psta...

合併兩個排序鍊錶

描述 將兩個排序鍊錶合併為乙個新的排序鍊錶樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 將兩個鍊錶當中的對應元素的值進行比較,重新確定新鍊錶當中元素的位置。若第乙個鍊錶當前位置的值小於第二個鍊錶當前值,則不需要改變位置,第乙個鍊錶的指標...

合併兩個排序鍊錶

問題描述 將兩個排序鍊錶合併為乙個新的排序鍊錶 樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 遍歷第二個鍊錶的每乙個節點,然後與第乙個節點的第乙個節點比較,如果第二個鍊錶節點的值小於第乙個,就插入到第乙個煉表裡,如果大於就到下乙個節點。...