鍊錶問題(二) 有序鍊錶合併

2021-07-05 10:32:39 字數 467 閱讀 4399

已知兩個鍊錶head1和head2個字有序,請把他們合併成乙個鍊錶依然有序(包含所有結點,即便大小相同)

struct node 

;//方法一:遞迴實現

node *merge(node *head1,node *head2)

else

return head;

}//方法二:迴圈實現

node * merge(node * head1,node *head2)

else

node *pcurr=head;

while(p1 !=

null

&& p2 !=

null)

else

}while(p1 !=

null)

while(p2 !=

null)

return head;

}

鍊錶 合併有序鍊錶

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

鍊錶 合併有序鍊錶

將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。leetcode21 class solution else head head.next head.next l1 null?l2 l1 return result.next class solut...

有序鍊錶合併

歸併排序 la lb是兩個帶頭結點的有序鍊錶,歸併兩個鍊錶得到新的有序表lc。設立指標pa,pb,pc,其中pa和pb分別指向la,lb中當前待比較的結點,pc指向lc表中當前最後乙個結點。將pa,pb結點中值較小的乙個鏈結到pc之後。typedef struct node node,plink 銷...