Swift - LeetCode - 合并两个有序链表

题目

合并两个有序链表

问题:

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

示例:

输入: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
    }
    

你可能感兴趣的:(Swift - LeetCode - 合并两个有序链表)