首页 > 其他 > 详细

LeetCode-21 合并两个有序链表

时间:2019-10-16 22:29:21      阅读:49      评论:0      收藏:0      [点我收藏+]

问题:

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-sorted-lists
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

分析:

三个动指针,一个头指针解决问题

代码:

/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode head = new ListNode(0);
ListNode l3 = head;
while(l1!=null&&l2!=null){
if(l1.val<l2.val){
l3.next = l1;
l1 = l1.next;
}else{
l3.next = l2;
l2 = l2.next;
}
l3 = l3.next;
}
if(l1==null){
l3.next = l2;
}else{
l3.next = l1;
}
return head.next;
}
}

LeetCode-21 合并两个有序链表

原文:https://www.cnblogs.com/gmzqjn/p/11688115.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!