Implement the algorithm to reverse a singly linked list.
Given a Singly Linked List, write an algorithm to find the middle node. You may not use more than one loop of any kind.
A linked list is given. Write an algorithm that detects whether it's a singly linked list or a circularly linked list.