Skip to main content

Finding a loop in a linked List

Finding a loop in a linked List:-

public class LinkedListLoop {

 //Two pointers
 public Node loopCheck(Node head)
  //fast pointer take two steps at a time
  Node fastptr=head;
  //slow pointer take one step at a time
  Node slowptr=head;
   System.out.println("no loops empty list");
  //Till any pointer becomes null
  while(slowptr!=null && fastptr!=null &&!=null)
   //if both pointers point to same node
   //possible only in loop list
     return fastptr;
  System.out.println("loop not found");
   return head;
 public void makeCycle(Node head)
  Node temp=head;



Popular posts from this blog

Heap implementation in JAVA

In this tutorial we will see all the functionalities of heaps implemented through java language.

package com.problems.heap;publicclassHeapFunctions{//Function to generate maxheapify where root is max than childspublicvoidmaxHeapify(int Arr[],int i,int N){int largest;int left =2*i+1;//left childint right =2*i +2;//right child System.out.println("left"+" "+left); System.out.println("right"+" "+right); System.out.println("Max size"+" "+N);if(left< N && Arr[left]> Arr[i]){ largest = left; System.out.println("largest left"+largest);}else{ largest = i; System.out.println("largest i"+largest);}if(right < N && Arr[right]> Arr[largest]){ largest = right; System.out.println("largest right"+largest);}if(largest != i ){ System.out.println("No largest"+largest); Arr=swap (A…