【发布时间】:2021-03-29 11:49:44
【问题描述】:
一直在努力解决这个 leetcode 问题。想知道是否有一种实用的方法来解决这个问题。我能想到的就是使用可变对象(在 Scala 中)。
给定一个表示为数字链表的非负整数,该整数加一。
存储数字时,最高有效数字位于列表的开头。
示例 1:
输入:head = [1,2,3]
输出:[1,2,4]
示例 2:
输入:head = [0]
输出:[1]
约束:
链表的节点数在[1, 100]范围内。
0 <= Node.val <= 9
链表表示的数字除了零本身外不包含前导零。
* Definition for singly-linked list.
* class ListNode(_x: Int = 0, _next: ListNode = null) {
* var next: ListNode = _next
* var x: Int = _x
* }
*/
object Solution {
def plusOne(head: ListNode): ListNode = {
}
}
更有趣的输入/输出 = [1,9,9,9,9] => [2,0,0,0,0]
【问题讨论】:
-
顺便说一句,
ListNode的定义不是很像 Scala,它至少应该是class ListNode(val x: Int = 0, val next: ListNode = null),尽管null应该替换为一些代表空列表节点的对象。跨度> -
我不反对。就像 leetcode 定义的那样。
-
您可能想尝试一些专门为 Scala 量身定制的在线资源。这篇文章有一个list(不过我还没有尝试过那里的任何课程,所以我无法证明它们的用处)。
标签: scala functional-programming