反转列表列表

时间:2017-10-27 12:08:56

标签: list f#

我想创建一个函数,它接受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 

2 个答案:

答案 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
相关问题