Validate linked list sorted
Last updated: November 21, 2025
Quick Overview
Given a singly linked list, write a function to determine if the list is sorted in non-decreasing order. The function should return true if the list is sorted and false otherwise. The input will be the head of the linked list, and the output will be a boolean value.
Compass
November 21, 2025438
7
4,913 solved
Given a singly linked list, write a function to determine if the list is sorted in non-decreasing order. The function should return true if the list is sorted and false otherwise. The input will be the head of the linked list, and the output will be a boolean value.
Compass uses this problem in the Onsite to evaluate your algorithmic thinking. They expect you to discuss multiple approaches, analyze trade-offs between them, and implement the optimal solution with clean, readable code.
What the Interviewer Expects
- Identify the correct data structure and algorithm for the problem
- Write clean, bug-free code with proper variable naming
- Analyze time and space complexity correctly
- Handle basic edge cases (empty input, single element)
- Communicate your thought process while coding
Key Topics to Cover
How to Approach This
- Clarify input constraints and edge cases before writing code.
- Walk through your approach verbally and confirm with the interviewer before coding.
- Start with a brute force solution, then optimize. Mention time and space complexity.
- Test your solution with examples, including edge cases like empty input or duplicates.
- Consider common patterns: sliding window, two pointers, hash map, BFS/DFS, dynamic programming.
Possible Follow-up Questions
- What if the input doesn't fit in memory?
- Can you solve this iteratively instead of recursively (or vice versa)?
- Can you solve this in a single pass?
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice DSA ProblemsSample Answer
Problem Analysis
To determine if a singly linked list is sorted in non-decreasing order, we need to verify that each node's value is less than or equal to the value of the next node. The two-pointer technique can be a...
Approach
- Initialize a pointer
currentto the head of the linked list. - While
currentis not null andcurrent.nextis not null:- Compare
current.valwithcurrent.next.val. - If `current.va...
- Compare