Longest common suffix: Difference between revisions
Content added Content deleted
(add Standard ML) |
|||
Line 1,586: | Line 1,586: | ||
Longest common suffix = abc |
Longest common suffix = abc |
||
</pre> |
</pre> |
||
=={{header|Standard ML}}== |
|||
<lang sml>val lcs = |
|||
let |
|||
val commonSuffix = fn (s0, s1) => |
|||
let |
|||
val rec pairTakeREq = fn (0, _) => s0 | (_, 0) => s1 | (i, j) => |
|||
let |
|||
val i' = i - 1 and j' = j - 1 |
|||
in |
|||
if String.sub (s0, i') = String.sub (s1, j') |
|||
then pairTakeREq (i', j') |
|||
else String.extract (s0, i, NONE) |
|||
end |
|||
in |
|||
pairTakeREq (size s0, size s1) |
|||
end |
|||
in |
|||
fn [] => "" | x :: xs => foldl commonSuffix x xs |
|||
end</lang> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |