示例:split [1;3;2;4;7;9];;
输出:([1;3;7;9], [2;4])
我是F#的新手,我无法理解.
无法使用partition
内置功能.
这是我到目前为止:
let rec split xs =
match xs with
| [] -> [], []
| xs -> xs, []
| xh::xt -> let odds, evens = split xt
if (xh % 2) = 0 then xh::odds, xh::evens
else xh::odds, evens
Run Code Online (Sandbox Code Playgroud)
固定代码:
let rec split xs =
match xs with
| [] -> [], []
| xh::xt -> let odds, evens = split xt
if (xh % 2) = 0 then …
Run Code Online (Sandbox Code Playgroud)