JavaScript 合併兩個有序鍊錶

2021-09-17 03:06:01 字數 645 閱讀 2945

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。

例如:輸入:鍊錶一:1->3->5->7    鍊錶二:2->4->6->8

輸出:鍊錶三:1->2->3->4->5->6->7->8

/*function listnode(x)*/

function merge(phead1, phead2)

else

return res;

*///方法二:while迴圈

var phead3 = new listnode(-1);//例項化乙個鍊錶,裡面的值是-1;因程式需要建立的節點

var l3 = phead3;//l3鍊錶節點用於移動,拼接鍊錶元素

while(phead1 !== null && phead2 !== null) else

l3 = l3.next;

}l3.next = (phead1===null) ?phead2:phead1;//迴圈完某一煉表後,將另一鍊錶剩下的部分直接加入到l3

return phead3.next;//輸出節點-1之後的鍊錶,即我們需要的合成後的單調不減鍊錶

}

前端面試的時候,面試官最喜歡問的鍊錶題目之一,一定要好好理解。

JavaScript合併兩個Json物件

如何將兩個json物件合併成新的json物件呢?mergejsonobject function jsonbject1,jsonbject2 for var attr in jsonbject1 for var attr in jsonbject2 return resultjsonobject 複...

合併兩個有序列表

1.尾遞迴 1 def recursion merge sort2 l1,l2,tmp 2if len l1 0 or len l2 0 3tmp.extend l1 4tmp.extend l2 5return tmp6 else 7 if l1 0 dell1 0 10else 11 12del...

go合併兩個有序列表

題目 將兩個有序鍊錶合併為乙個新的有續鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點做成的。思路 1 如果給定的兩條鍊錶中有一條為空,返回另一條即可 2 若兩條鍊錶都不為空,則在兩條鍊錶中選擇較小的節點作為head,被選中的較小節點所在鍊錶的第二個節點便成了二當家帶領這條鍊錶 3 二當家帶領著...