【发布时间】:2021-01-24 08:36:13
【问题描述】:
在 Ocaml 语言中,目标是在删除重复项的同时合并(附加)两个列表。
let rec find_dup a lst =
match lst with
| [] -> false
| hd::tl -> if (hd == a) then true else find_dup a tl;;
let rec app lst2 lst1 =
match lst1 with
| [] -> lst2
| hd::tl -> if (find_dup hd lst2) then (app tl lst2)
else hd::app tl lst2
;;
我有这样的代码,但是当测试用例是 app [4;5;6;7] [1;2;3;4] 答案应该是 [1;2;3;4;5;6;7] 但我不断得到
- : 整数列表 = [1; 2; 5个; 3; 6; 4; 7]
发生了什么事?
【问题讨论】:
-
请不要以使现有答案无效的方式更改问题。我已还原更改,因此您无需执行任何操作,但请不要再执行此操作。
标签: ocaml