#pointers
5 problems

Graph Cycle Detection
You have a directed connected graph. Write an algorithm that detects any cycle, if one exists, and returns a list of its nodes.

Tree InOrder Traversal to Next Node
Given a node in a binary tree, implement the algorithm for finding its next inorder node in the containing tree.

Find the middle node of a 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.

Circular Linked List Detection
A linked list is given. Write an algorithm that detects whether it's a singly linked list or a circularly linked list.

Reverse a Singly Linked List
Implement the algorithm to reverse a singly linked list.