dragonCurve
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));