Easy data structure and algorithm practice puzzle.
Given a linked list, passed in as its values, return the middle value. If there are two middles, return the second one. Use two pointers: slow moves one step, fast moves two. When fast can't move any further, slow is in the middle. You never need the length, and it's the same trick Floyd's cycle detection uses.
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Then grow it into a real project with the Software Engineer button: this puzzle becomes the Reading Reconciler, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles