How to answer the speed list and speed pointer of the interview questions
This article shows you how to answer the speed linked list and speed pointer of the interview questions. the content is concise and easy to understand, which can definitely brighten your eyes. I hope you can get something through the detailed introduction of this article.
How to quickly find the middle node of a single linked list of location length? The common way is to traverse first and find the intermediate node of the 2/length from scratch. The algorithm complexity is O (3*n/2). A faster way is to use the principle of fast and slow pointers.
Fast and slow linked list: using the idea of a ruler, set two pointers (one fast and one slow) * serach and * mid, both of which point to the head node of the single linked list at first. But the * search pointer moves twice as fast as the * mid. When * search reaches the tail node, mid is right in the middle. The complexity of the algorithm is O (nbank 2).
Int GetMidNode (LinkList * L elem) {LinkList * search,*mid; mid = search = L; / / points to the header node while (search- > nextint null) {/ / when there is a next node, if (search- > next- > nextint null) {/ / check whether the next node is empty search = search- > next- > next; mid = mid- > next;} else search = search- > next;} elem = mid- > data Return elem;} the above content is the speed list of the interview questions and how to answer the speed pointer. Have you learned the knowledge or skills? If you want to learn more skills or enrich your knowledge reserve, you are welcome to follow the industry information channel.