合併兩個排序鍊錶

2021-07-29 20:40:05 字數 775 閱讀 9961

題目:

將兩個排序鍊錶合併為乙個新的排序鍊錶

您在真實的面試中是否遇到過這個題?

yes

樣例給出1->3->8->11->15->null2->null, 返回1->2->3->8->11->15->null

思路:

首先判斷極端情況,即l1=null或l2=null的情況,然後判斷兩個鍊錶的第乙個數誰小,誰小選誰的頭結點當head;比如l1的頭結點為head,就要對l2進行遍歷,讓l2當中的元素插入到l1之中即可。

**:/**

* definition of listnode

* class listnode

* }*/

class solution

else l1=l1->next;

}if(i==2)

else l1->next=l2;

}return head;

}else

else l2=l2->next;

}if(i==2)

else l2=l1->next;

}return head;}}

};感想:

做了這道題之後,我最大的感想就是讀不清楚題就不要去思考解決方案!我一開始沒有注意到鍊錶是已經排序好的,以為這道題是要求兩個鍊錶交錯之後產生的新鍊錶,結果做了之後,直接錯誤回答,後來第二天再看這道題的時候,才發現自己犯了乙個多麼滑稽的錯誤。個人感覺插入什麼的沒有難度,這段**的亮點在於整數i的使用。

合併兩個排序鍊錶

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。解題思路 遍歷第二個鍊錶的每乙個節點,然後與第乙個節點的第乙個節點比較,如果第二個鍊錶節點的值小於第乙個,就插入到第乙個煉表裡,如果大於就到下乙個節點。...