合併兩個排序的鍊錶 反轉鍊錶

2021-10-11 15:57:14 字數 1044 閱讀 5713

合併兩個排序的鍊錶

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。

示例1:

輸入:1->2->4, 1->3->4輸出:1->1->2->3->4->4

public listnode mergetwolists(listnode l1, listnode l2)  else

r=r.next;

}r.next=l1==null?l2:l1;

return dummy.next;

}

遞迴形式:

public listnode mergetwolists(listnode l1, listnode l2) 

if(l2==null)

listnode head;

if(l1.val<=l2.val) else

}

反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。

示例:

輸入:1->2->3->4->5->null輸出:5->4->3->2->1->null

public listnode reverselist(listnode head) 

return newhead;

}

遞迴形式

public listnode reverselist(listnode head) 

listnode p = reverselist(head.next);

head.next.next = head;

head.next = null;

return p;

}

鍊錶問題 合併兩個排序鍊錶

題目 輸入兩個遞增排序的鍊錶,合併這兩個排序鍊錶,使得合併之後的鍊錶仍然使遞增排序的。分析 即是歸併排序中的歸併操作,有兩種具體的實現 1 使用遞迴的方法,2 迭代版本,逐個合併鍊錶。實現如下 struct listnode 遞迴版本 listnode merge listnode phead1,l...

劍指Offer 反轉鍊錶 合併兩個排序的鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。之前在leetcode寫過 leetcode 鍊錶逆置 struct listnode class solution return pre 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。之前在leetcode...

25 鍊錶 反轉單鏈表 合併兩個排序的鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。public class listnode public class solution return prior 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。先確定頭節點,之後根據兩個鍊錶第乙個節點的大小,按...