本文主要是介绍Merge 2 Sorted Lists,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
合并两个有序链表:
P1 1-3-5-7-9
P2 2-4-6-8-10
首先选取P1.head 和P2.head 中较小的作为头结点。假设是P1.
那么Head的next节点应该是P1.next 和 p2 中较小的节点。即P1以P1.next 为头结点继续迭代。
代码(递归)
public static ListNode mergeLists(ListNode r1, ListNode r2) {
if (r1 == null) {
return r2;
}
if (r2 == null) {
return r1;
}
ListNode phead = null;
if (r1.val < r2.val) {
phead = r1;
phead.next = mergeLists(r1.next, r2);
} else {
phead = r2;
phead.next = mergeLists(r1, r2.next);
}
return phead;
}
这篇关于Merge 2 Sorted Lists的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!