Why optimal: Iterative approach reverses pointers in a single pass without extra memory. # Given the head of a linked list, reverse it and return the new head.