劍指offer之十五 合併兩個排序的鍊錶

2021-08-08 21:43:05 字數 594 閱讀 9068

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

/**    

* 演算法思想:構造兩個指標分別指向兩個鍊錶,構造乙個新鍊錶;

* 兩個指標所指向的節點比較大小,較小的放在前面指標後移,較大的不動,繼續比較大小;

* 若某個鍊錶已空,直接將另乙個鍊錶剩下的部分鏈結到新鍊錶中。

*/public class solution

if(list2==null)

//遞迴版本

listnode newhead=null;

if(list1.val<=list2.val)else

return newhead;

/*非遞迴版本

listnode head = new listnode(-1);

listnode node=head;

while(list1!=null&&list2!=null)else

node=node.next;

}while(list1!=null)

while(list2!=null)

return head.next;*/}

}

劍指offer 合併兩個排序列表

題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。簡單,但是有三種方法 1.建立乙個額外鍊錶 最好理解,但是浪費空間 public listnode merge listnode list1,listnode list2 else if p2 nu...

劍指offer 合併兩個鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。新建乙個節點作為head,依次遍歷兩個陣列 時間複雜度 o n 空間複雜度 o 1 coding utf 8 class listnode def init self,x self.val x self.ne...

劍指offer刷題(十五)合併兩個排序的鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。由於兩個鍊錶都是遞增的,所以每次共同比較兩個鍊錶中最小的值,把比較小的值插入到新的鍊錶中,一直迴圈,直到某個鍊錶為空,再把另外乙個不為空的鍊錶插入到新的鍊錶中。class solution 返回合併後列表 d...