LeetCode 1544. Make The String Great in F#
URL
leetcode.com/problems/make-the-string-great
Code
github.com/syohex/dotnet-study/blob/master/..
let makeGood (s: string) : string =
let rec makeGood' cs (acc: char list) =
match cs with
| [] -> acc |> List.rev |> System.String.Concat
| h :: t ->
match acc with
| [] -> makeGood' t (h :: acc)
| prev :: rest ->
if (System.Char.IsLower(h)
&& prev = System.Char.ToUpper(h))
|| (System.Char.IsUpper(h)
&& prev = System.Char.ToLower(h)) then
makeGood' t rest
else
makeGood' t (h :: acc)
makeGood' (s |> Seq.toList) []