题目
合并两个有序链表
问题:
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
代码:
/**
public class SingNode {
public var value : Int
public var nextNode: SingNode?
public init(value:Int) {
self.value = value
}
}
**/
func merchgeTwoList(_ l1:SingNode?, _ l2:SingNode?) -> SingNode? {
if l1 == nil {
return l2
}
if l2 == nil {
return l1
}
let dummy = SingNode.init(value: 0)
var tempNode = dummy
var L1 = l1
var L2 = l2
while L1 != nil && L2 != nil {
if L1!.value < L2!.value {
tempNode.nextNode = L1
L1 = L1?.nextNode
} else {
tempNode.nextNode = L2
L2 = L2?.nextNode
}
tempNode = tempNode.nextNode!
}
tempNode.nextNode = L1 ?? L2
return dummy.nextNode
}