Merge Two Sorted Lists
What common mistakes do candidates make around Merge Two Sorted Lists, and how do you avoid them?
Answers use simple, clear English.
Quick interview answer
Common mistakes: Forgetting to attach remaining tail; comparing values after null dereference. Best practices: Use sentinel dummy node; return dummy.next as result head.
Detailed answer
Common mistakes: Forgetting to attach remaining tail; comparing values after null dereference. Best practices: Use sentinel dummy node; return dummy.next as result head. Core: Dummy head + tail pointer: attach smaller head node, advance that list. Append remainder. Same merge pattern powers merge sort on linked lists. Real-time example: Merge two sorted Kafka partition offset logs into one chronological stream. Pros: O(n+m) time, O(1) extra space; clean dummy-node pattern. Cons: Recursive merge uses O(n+m) stack; watch stack limits on long lists. Common mistakes: Forgetting to attach remaining tail; comparing values after null dereference. Best practices: Use sentinel dummy node; return dummy.next as result head. Audience level: Junior.
Full explanation
Dummy head + tail pointer: attach smaller head node, advance that list. Append remainder. Same merge pattern powers merge sort on linked lists.
Real example & use case
Merge two sorted Kafka partition offset logs into one chronological stream.
Pros & cons
Pros: O(n+m) time, O(1) extra space; clean dummy-node pattern. Cons: Recursive merge uses O(n+m) stack; watch stack limits on long lists.
Common mistakes
Forgetting to attach remaining tail; comparing values after null dereference.
Best practices
Use sentinel dummy node; return dummy.next as result head.
Follow-up questions
Open one as its own read / solve / listen card