Data Structure: What is a Linked List? What are the operations it supports and give their runtimes. Implement it What is the algorithm to reverse a linked list How do you get the middle of a linked list? What are the edge cases for this? What are some questions to ask for algorithmic interview problems relating to linked lists? Given a singly linked list, how would you approach iterating backwards on it, in constant space, and without mutating the input?