我想创建一个函数,它接受int list list
并返回int list list
,但每个列表都会被还原。例如:
[[1;2;3];[4;5;6]] -> [[6;5;4];[3;2;1]]
到目前为止,我提出的功能缺少一些我无法看到并返回的内容:
[[4;5;6];[6;5;4]]
看起来像这样:
let revrev lstOfLst =
let revrevInner lst =
List.fold (fun rst x -> x::rst) [] lst
List.fold (fun rst x -> x::[(revrevInner x)]) [] lstOfLst
答案 0 :(得分:4)
再次阅读我的功能之后,我注意到我没有在第一次使用中使用rst。该函数应如下所示:
let revrev lstOfLst =
let revrevInner lst =
List.fold (fun rst x -> x::rst) [] lst
List.fold (fun rst x -> (revrevInner x)::rst) [] lstOfLst
答案 1 :(得分:1)
let revRev lstOfLst =
List.fold (fun s x -> (List.rev x) :: s) [] lstOfLst