Work in HR or Recruiting?
Microsoft
3.6 of 5 5,167 reviews
www.microsoft.com Redmond, WA 5000+ Employees

774 interview experiences Back to all Microsoft Interview Questions & Reviews

Interview Question for Software Development Engineer (SDE) at Microsoft:
Nov 20, 2012

[Round 1] Find loop in a linked list


Add Tags [?]

See more for this Microsoft Software Development Engineer (SDE) Interview

Helpful Question?  
Yes | No
Inappropriate?

Answers & Comments (2)

Dec 08, 2012

by Mahmoud Wahdan:

Answer : If he means a boolean function to see if there is a loop in the linked list or not, then the answer is to use two pointers (slow and fast). "slow" walks one step every time and "fast" walks two step every time , if you reach null with fast pointer , then there is no loop , else if the fast and slaw pointer meet then there is a loop.

if he means find the begin node of this loop (loop node), then you will write some extra code.
you now get the node where "fast" and "slow" pointers meet in. then, arithmetically, the distance between that node and the "loop node" is equal to the distance between the head of the linked list and the "loop node". what we can do is after the slaw and fast pointers meet , fast pointer will point to the head of the linked list and both the slaw and the fast pointers will continue with speed equal to one step every time until they meet. the "loop node" is the node they met in.
Helpful Answer?  
Yes | No
Inappropriate?

Dec 25, 2012

by Harry:

There is a blog discussing this problem:
http://codercareer.blogspot.com/2012/01/no-29-loop-in-list.html

Additionally, it's the 16th problem in the book <Coding Interviews: Questions. Analysis & Solutions>. You may get detailed analysis about this problem in the book.
Helpful Answer?  
Yes | No
Inappropriate?

To comment on this question, Sign In with Facebook or Sign Up

Microsoft – Why Work for Us?

Amazing things happen here! From gamers to governments, moms to mega-corporations, Microsoft helps customers all over the globe to realize their potential. Many people think Microsoft = software. Yes, we do… Full Overview

Provided by employer [?]

Tags are like keywords, helping to categorise interview questions that have something in common.