LeetCode 1047. Remove All Adjacent Duplicates In String in F#
URL
leetcode.com/problems/remove-all-adjacent-d..
Code
github.com/syohex/dotnet-study/blob/master/..
let removeDuplicates (s: string) : string =
let rec removeDuplicates' (cs: char list) (acc: char list) =
match cs with
| [] -> acc |> List.rev |> System.String.Concat
| h :: t ->
match acc with
| [] -> removeDuplicates' t [ h ]
| prev :: rest ->
if h = prev then
removeDuplicates' t rest
else
removeDuplicates' t (h :: acc)
removeDuplicates' (s |> Seq.toList) []