zoukankan      html  css  js  c++  java
  • leetcode刷题笔记二十一 合并两个有序列表 Scala版本

    leetcode刷题笔记二十一 合并两个有序列表 Scala版本

    源地址:21. 合并两个有序链表

    问题描述:

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

    示例:

    输入:1->2->4, 1->3->4
    输出:1->1->2->3->4->4

    代码补充:

    //本题较为简单,将情况分为以下三种
    //1.l1到尾部, l2未到尾部, 将剩余l2的部分挂上去
    //2.l2未到尾部,l1到尾部,将剩余l1的部分挂上去
    //3.l1 l2均为到达尾部,将比较当前l1和l2的值,将当前较小值的结点挂
    //入,下一个节点将由推进一位的链表与未被选中的链表的值比较获得
    object Solution {
        def mergeTwoLists(l1: ListNode, l2: ListNode): ListNode = (l1, l2) match {
            case (null, l2) => l2
            case (l1, null) => l1
            case (l1, l2) if (l1.x <= l2.x) => {
                l1.next = mergeTwoLists(l1.next, l2)
                l1
            }
            case (l1, l2) if (l1.x > l2.x) => {
                l2.next = mergeTwoLists(l1, l2.next)
                l2
            }
        }
    }
    
  • 相关阅读:
    intel instruction 指令速查
    WinDbg双机调试配置
    MSDN上关于WinDbg的手册
    build temu error about SDL
    taintCheck的实现
    Vim使用taglist功能
    Windows编写driver
    cabal替代脚本
    怎样理解Functor与Monad
    haskell基本语法
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/12741120.html
Copyright © 2011-2022 走看看