問題描述:將兩個排序鍊錶合併為乙個新的排序鍊錶
樣例:
給出1->3->8->11->15->null
,2->null
, 返回1->2->3->8->11->15->null
。
實現思路:首先建乙個新鍊錶,新鍊錶的頭結點就是l1或l2中較小的那乙個,若l1中的頭結點是小於l2的,那麼在比較完頭結點之後,再將l1中的下乙個節點與l2中的頭結點比較,同樣是誰小誰進入新鍊錶,然後在比較,直到兩個鍊錶比較完。
實現**:
* definition of listnode
* class listnode
* }*/
class solution
if(l1==null)
if(l2==null)
listnode *first=new listnode(0);
listnode *p=first;
while(l1!=null&&l2!=null)
else
}if(l1!=null)
if(l2!=null)
return p->next;
}// write your code here};
做題感想:
當兩個鍊錶都不是空的時候,先要考慮判斷好二者的大小,然後要考慮好指標,注意新煉表中指標後移,並且當前鍊錶中指標要後移。
合併兩個排序鍊錶
struct listnode class solution else while pstart1 null pstart2 null plast next pstart1 plast pend1 pend1 pend1 next pstart1 pend1 else plast next psta...
合併兩個排序鍊錶
描述 將兩個排序鍊錶合併為乙個新的排序鍊錶樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 將兩個鍊錶當中的對應元素的值進行比較,重新確定新鍊錶當中元素的位置。若第乙個鍊錶當前位置的值小於第二個鍊錶當前值,則不需要改變位置,第乙個鍊錶的指標...
合併兩個排序鍊錶
問題描述 將兩個排序鍊錶合併為乙個新的排序鍊錶 樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 遍歷第二個鍊錶的每乙個節點,然後與第乙個節點的第乙個節點比較,如果第二個鍊錶節點的值小於第乙個,就插入到第乙個煉表裡,如果大於就到下乙個節點。...