for (let i = seedSteps + s.length; i >= seedSteps; i--) to for (let i = seedSteps + s.length - 1; i >= seedSteps; i--)
The original is not using the for loop in the usual way so i starts off one smaller than expected.
for (let i = seedSteps + s.length; i >= seedSteps; i--) to for (let i = seedSteps + s.length - 1; i >= seedSteps; i--)
The original is not using the for loop in the usual way so i starts off one smaller than expected.