来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-sorted-lists
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
方法
func mergeTwoLists(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
var l1 = l1
var l2 = l2
let resultNode = ListNode(0)
var currentNode = resultNode
while (l1 != nil) && (l2 != nil) {
let val1: Int = l1!.val
let val2: Int = l2!.val
let node = (val1 < val2 ? l1 : l2)
currentNode.next = node
node === l1 ? (l1=l1!.next) : (l2=l2!.next)
currentNode = currentNode.next!
}
currentNode.next = (l1 != nil ? l1 : l2)
return resultNode.next
}
网友评论