Apple's DSA rounds draw from classic patterns — linked lists, two-pointer array problems, matrix simulation, and interval/heap problems — often layered with a request to first explain the brute-force approach before optimizing. The three problems below are real, recently reported (2025) Apple questions with full solutions.
Given an array of k sorted linked lists, merge them into a single sorted linked list and return it.
Input: lists = [[1,4,5],[1,3,4],[2,6]]
Output: [1,1,2,3,4,4,5,6]
All k lists merged and sorted into one linked list.
- Be ready to explain the brute-force merge-then-sort approach first, then justify the optimized min-heap approach when asked to improve it.
Given an array of non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.
Input: height = [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6
Given the head of a singly linked list whose values are sorted in ascending order, convert it into a height-balanced binary search tree.
Input: head = [-10, -3, 0, 5, 9]
Output: A height-balanced BST such as [0, -3, 9, -10, null, 5]
Multiple height-balanced trees are valid answers — any one satisfying the balance property is accepted.
More DSA questions Apple has asked recently
These topics were reported in verified 2025 Apple loops across multiple teams and levels. Full problem statements, solutions and explanations for these are part of the Placement-Ready PYQ Kit.
5 more verified DSA questions with full solutions in the full Placement-Ready PYQ Kit
Includes the exact round and team each question was reported in, from intern loops through ICT5.

