21 合併兩個有序鍊錶 E

2021-09-11 10:26:44 字數 887 閱讀 1489

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

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

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

輸入:輸出:[1]

/**

* definition for singly-linked list.

* type listnode struct

*/func

mergetwolists

(l1 *listnode, l2 *listnode)

*listnode

;p=head //dumyhead,不用再處理p==nil的情況,直接用p.next就行

for l1!=

nil p.next=l1;p=p.next;l1=l1.next

}

p.next=l2 //最後剩下的,l2,也不用遍歷了,直接鏈上頭就可以了

return head.next

}

/**

* definition for singly-linked list.

* type listnode struct

*/func

mergetwolists

(l1 *listnode, l2 *listnode)

*listnode

else

l2=l2.next

}if p==

nilelse

l1=l1.next

}for l2!=

nilelse

l2=l2.next

}return head

}

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 原本想的是用19題的結構陣列那種方法來做 分別遍歷兩個鍊錶,建立結構儲存原始索引,val和指標,氣泡排序這個結構,更新索引,按照索引建立新的n...

21 合併兩個有序鍊錶

合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4比較簡單,比較大小,重新排序即可。created by hints on 2019 1 9.include using name...

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4先確定合併鍊錶第乙個節點 在迴圈中同時遍歷兩個鍊錶,將後面其餘節點逐次比較,依大小次序連線到首節點之後,迴圈結束後可能有乙個鍊錶未遍歷完,將這個鍊錶剩...