本篇内容主要讲解“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如何合并两个有序链表”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/jiansin/blog/4651744