微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Scala实现合并两个有序链表leetCode 21

https://leetcode-cn.com/problems/merge-two-sorted-lists/
//合并2个有序链表
object Solution {
    /**
    * 暴力遍历,时间复杂度O(M+N),空间复杂度O(1)
    */
    def mergeTwoLists(l1: ListNode, l2: ListNode): ListNode = {
        val prevHead = new ListNode(-1)
        var prev = prevHead
        var l1_cp= l1
        var l2_cp = l2
        while(l1_cp != null && l2_cp != null){
            if(l1_cp.x <= l2_cp.x){
                prev.next = l1_cp
                l1_cp = l1_cp.next 
            }else{
                prev.next = l2_cp
                l2_cp = l2_cp.next
            }
            prev = prev.next
        }
        if(l1_cp == null) prev.next = l2_cp else prev.next = l1_cp
        prevHead.next
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐