iOS LeetCode☞合并两个有序链表-爱代码爱编程
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
代码如下
func mergeTwoLists(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
let dummyHead = ListNode.init(0);
var cur = dummyHead;
var newL1 = l1;
var newL2 = l2;
while newL1 != nil && newL2 != nil {
if newL1!.val < newL2!.val {
cur.next = newL1;
newL1 = newL1!.next;
} else {
cur.next = newL2!;
newL2 = newL2?.next;
}
cur = cur.next!;
}
// 任一为空,直接连接另一条链表
cur.next = newL1 == nil ? newL2 : newL1;
return dummyHead.next;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/LiqunZhang/article/details/111035785