合併兩個有序的鍊錶
思路:目的是將兩個有序的鍊錶合併為新的有序列表,我們每次操作的都是要獲取l1指向結點和l2指向結點中,值較小的結點。
遞迴 解題:
函式返回值:返回l1指向的結點和l2指向的結點中,值較小的結點。
並且將從下級函式獲得的返回值,鏈結到當前結點next
結束條件:至少有乙個為空,返回剩下的
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
else}}
;
反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。
思路:1、利用兩個指標prev、cur,prev指向頭節點,cur指向空。pre在前,cur在後
2、實現區域性的反轉,就是prev的next指向cur
3、反轉完,prev和cur繼續向前走一步。
4、迴圈以上的過程
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
return cur;}}
;
鍊錶相關程式設計題 Python
從尾到頭列印鍊錶 鍊錶中倒數第k個結點 class solution def findkthtotail self,head,k write code here if not head return none pfast,pslow head,head for i in range k if pfa...
鍊錶相關操作
include include using namespace std 鍊錶結構體 struct listnode 是否為空 bool isempty listnode list position是否是最後乙個 bool islast listnode position,listnode list ...
鍊錶相關操作
class listnode 1.鍊錶反轉,遍歷原鍊錶,採用頭插法將數值插入新鍊錶 public listnode reverse listnode p return cur 2.兩個鍊錶相加,如 1 2 3加4 5 6等於5 7 9。思路 短的鍊錶高位用0補。public class soluti...