标签:tco ted 小数 amp div color val fun 将不
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
创建一个头部指针pHead,比较两个传入链表的头指针的数据大小,将pHead的next指针指向较小数据链表的数据,并将该该链表的next后移,直到两个列表都不为空。
public class ListNode { public var val: Int public var next: ListNode? public init(_ val: Int) { self.val = val self.next = nil } } func mergeTwoLists(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? { var list1 = l1 var list2 = l2 // 创建头部指针 let pHead = ListNode(-1) var preN = pHead // 当两个链表都不为空时执行 while list1 != nil && list2 != nil { // 当前指针指向较小数据的链表,并将该链表的指针后移 if list1!.val < list2!.val { preN.next = list1 list1 = list1?.next } else { preN.next = list2 list2 = list2?.next } preN = preN.next! } // 将不为空的链表拼接到新创建的链表中 preN.next = (list1 == nil ? list2 : list1) return pHead.next }
标签:tco ted 小数 amp div color val fun 将不
原文地址:https://www.cnblogs.com/muzichenyu/p/12746103.html