首页 > 其他 > 详细

scala刷LeetCode--21 合并两个有序链表

时间:2019-07-14 09:27:11      阅读:115      评论:0      收藏:0      [点我收藏+]

一、题目描述

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

二、示例

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

三、个人scala解题代码

 1 /**
 2  * Definition for singly-linked list.
 3  * class ListNode(var _x: Int = 0) {
 4  *   var next: ListNode = null
 5  *   var x: Int = _x
 6  * }
 7  */
 8 object Solution {
 9     def mergeTwoLists(l1: ListNode, l2: ListNode): ListNode = {
10         if (l1 == null) l2
11         else if (l2 == null) l1
12         else if (l1.x > l2.x) {
13             l2.next = mergeTwoLists(l1, l2.next)
14             return l2
15         } 
16         else {
17             l1.next = mergeTwoLists(l1.next, l2)
18             return l1
19         }
20     }
21 }

四、提交情况

执行用时 :524 ms, 在所有 Scala 提交中击败了100.00%的用户

内存消耗 :49.6 MB, 在所有 Scala 提交中击败了100.00%的用户

五、知识点

1. 尾递归

尾递归百度百科

 

 

黑白记忆▃

https://home.cnblogs.com/u/aCui/

scala刷LeetCode--21 合并两个有序链表

原文:https://www.cnblogs.com/aCui/p/11182903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!