Skip to main content

Nth Node from End in LinkedList

Nth Node from End in LinkedList
1) Find length of  linked list.
2) Traverse (length-position+1) element from begin.


 //nth Node from end
 public Node nodeFromEnd(Node head,int position){
  Node temp=head;
  int length=1;
  while(temp.next!=null)
  {
   length++;
   temp=temp.next;
  }
  System.out.println("length"+length);
  temp=head;
  int c=1;
  while(c!=(length-position+1))
  {
   temp=temp.next;
   c++;
  }
  return temp;
 }
 

Comments

.

Popular posts from this blog

Deleting a Node by passing data in LInkedList

Deleting a Node by passing data in LInkedList:-

The node can be deleted by passing the data value in a function.Here we have three pointers one to traverse the list other to point current node and third one to point previous of current node.



//deleting a given keypublic Node deleteKeyNode(Node head,int key){//traverse pointer Node temp=head;//previous pointer Node prevtemp=temp;while(temp!=null){//when key is at head positionif(key==head.data){ head=head.next; System.out.println("head is deleted");return head;}//when key is at any position other than headif(temp.data==key){ prevtemp.next=temp.next; temp.next=null; temp=prevtemp;} prevtemp=temp; temp=temp.next;}return head;}