Palindrome Linked List
A easy-tier problem at 56% community acceptance, tagged with Linked List, Two Pointers, Stack. Reported in interviews at IXL and 12 others.
Palindrome Linked List shows up across 13+ companies including IXL, Barclays, Morgan Stanley, and Oracle, yet only half the candidates who attempt it pass. The trap is thinking you need to reverse the entire list or store values in extra space. You don't. The real pattern uses slow and fast pointers to find the middle, reverse the second half, and compare in one pass. If you blank on the pointer mechanics during a live OA, StealthCoder surfaces a working solution in seconds, invisible to the proctor.
Companies that ask "Palindrome Linked List"
Palindrome Linked List is the kind of problem that decides whether you pass. StealthCoder reads the problem on screen and surfaces a working solution in under 2 seconds. Invisible to screen share. The proctor sees nothing. Made by an Amazon engineer who watched the leaked-problem repo become an industry secret. He decided you should have it too.
Get StealthCoderThe obvious approaches fail because they're either too slow (stack all values, O(n) space) or they mutate the list permanently (reverse then check). The correct insight is to use the two-pointer technique to locate the midpoint, then reverse only the back half of the list while advancing pointers to compare values head-to-tail simultaneously. The recursion and stack topics in this problem's tags refer to alternative approaches that work but are less efficient. Most candidates stumble on the pointer arithmetic at the midpoint or lose track of which half they're reversing. It's marked EASY but the acceptance rate sits at 56%, suggesting the pattern isn't obvious until you've seen it once. For your live assessment, knowing the slow-fast pointer split is the hedge that separates a clean pass from a timeout.
Pattern tags
You know the problem.
Make sure you actually pass it.
Palindrome Linked List recycles across companies for a reason. It's easy-tier, and most candidates blank under the timer. StealthCoder is the hedge: an AI overlay invisible during screen share. It reads the problem and surfaces a working solution in under 2 seconds. Made by an Amazon engineer who watched the leaked-problem repo become an industry secret. He decided you should have it too. Works on HackerRank, CodeSignal, CoderPad, and Karat.
Palindrome Linked List interview FAQ
Why does this problem have an 'easy' tag but less than 60% pass?+
The two-pointer + reverse-half pattern isn't intuitive on first read. Most candidates either use extra space (O(n)) or try a full list reversal (wrong approach). Once you internalize the midpoint-split logic, it's straightforward. That gap between tag and pass rate is exactly where preparation wins.
Do I really need to reverse the second half?+
Yes. You need to compare the first half head-to-tail with the second half. Reversing the second half lets you advance both pointers forward simultaneously and stop at the middle. Any other method either uses extra space or requires multiple passes.
Is recursion or a stack better than the two-pointer approach?+
No. Recursion and stacks both use O(n) extra space. Two pointers use O(1) space. Given that 13+ companies ask this, they're testing your ability to find the optimal solution, not just any working one. Stack and recursion are fallbacks if you can't nail the pointer logic.
Which companies care most about this problem?+
It appears across 13 reported companies including Morgan Stanley, Oracle, ServiceNow, and Intuit. These are backend and systems-heavy shops where linked-list fundamentals matter. If you're interviewing there, this one's non-negotiable.
How do I avoid off-by-one errors with the midpoint?+
Draw it out for both odd and even-length lists before coding. For odd length, the middle node goes to the left half. For even length, the split is exact. Trace your slow and fast pointers on paper first. That five-minute sketch saves you a failed run.
Want the actual problem statement? View "Palindrome Linked List" on LeetCode →