"Software developers design, write, test, and maintain the code for a software system. Extensive knowledge of programming languages, data structures, and algorithms are necessary to pass the technical interview which is designed to test these skills. Employers are looking for candidates with a bachelor's degree in computer science or related field or equivalent work experience. "
Given a linked list with cycle, find the cycle.
maintain a stack and mark nodes as you go along
It's a well known problem. You need to have two pointers one of which traverses the list with a double speed. The cycle is found if sometime after start the fast pointer crosses the slow.