1. Given the head of a singly linked list, reverse the list, and return the reversed list.
2. How would you implement a queue using a stack, only using push and pop operations?
3. You are given two linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. The length of the numbers can be different.