合并兩個(gè)排序的鏈表
題目描述
輸入兩個(gè)單調(diào)遞增的鏈表,輸出兩個(gè)鏈表合成后的鏈表,當(dāng)然我們需要合成后的鏈表滿足單調(diào)不減規(guī)則。
思路
- 如果pHead1和pHead2中有一個(gè)為空,則result是另一個(gè);
- 如果pHead1的頭結(jié)點(diǎn)值小于pHead2,那么result的頭結(jié)點(diǎn)為pHead1的頭結(jié)點(diǎn),其next為pHead1.next和pHead2比較的結(jié)果。同理對(duì)pHead2也一樣。
- 因此本題可采用遞歸的方法。
實(shí)現(xiàn)代碼
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function Merge(pHead1, pHead2) {
// write code here
if (pHead1 == null) {
return pHead2;
} else if (pHead2 == null) {
return pHead1;
}
var result = {};
if (pHead1.val < pHead2.val) {
result = pHead1;
result.next = Merge(pHead1.next, pHead2);
} else {
result = pHead2;
result.next = Merge(pHead1, pHead2.next);
}
return result;
}