本篇内容主要讲解“java如何合并两个有序链表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java如何合并两个有序链表”吧!
非递归方法:
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode head = new ListNode(0);
ListNode pre = head;
while (l1 != null && l2 != null) {
if (l1.val <= l2.val) {
pre.next = l1;
l1 = l1.next;
} else {
pre.next = l2;
l2 = l2.next;
}
pre = pre.next;
}
if (l1 != null) {
pre.next = l1;
} else {
pre.next = l2;
}
return head.next;
}
递归方法:
public ListNode mergeTwoLists3(ListNode l1, ListNode l2) {
if (l1 == null) {
return l2;
}
if (l2 == null){
return l1;
}
if (l1.val <= l2.val){
l1.next =mergeTwoLists3(l1.next,l2);
return l1;
}else {
l2.next = mergeTwoLists3(l1,l2.next);
return l2;
}
}
到此,相信大家对“java如何合并两个有序链表”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!