RosettaCodeData/Task/Longest-common-subsequence/JavaScript/longest-common-subsequence-...

14 lines
303 B
JavaScript

var longest = (xs, ys) => (xs.length > ys.length) ? xs : ys;
var lcs = (xx, yy) => {
if (!xx.length || !yy.length) { return ''; }
var x = xx[0],
y = yy[0];
xs = xx.slice(1);
ys = yy.slice(1);
return (x === y) ? lcs(xs, ys) :
longest(lcs(xx, ys), lcs(xs, yy));
};