dragonCurve

by Vladymyr Shevchuk

JavaScript

function dragonCurve(n) {
    if (n <= 0) return '0';
    if (n === 1) return '1';

    const next = dragonCurve(n - 1);
    const nextReversed = next.split('').reverse();
    const reverse = nextReversed.map(i => i ^ 1).join('');

    return next + '1' + reverse;
}

console.log(dragonCurve(5));