Get nth node from end in a linked list Description:


  You’re given the pointer to the head node of a linked list and a
  specific position. Counting backwards from the tail node of the linked
  list, get the value of the node at the given position. A position of 0
  corresponds to the tail, 1 corresponds to the node before the tail and
  so on.


Code:

int GetNode(Node head,int n) {
     // This is a "method-only" submission. 
     // You only need to complete this method. 
    Node current = head;
    int count = 0;
    while (current != null) {
        count++;
        current = current.next;
    }
    current = head;
    for (int i = 0; i &lt; count - n - 1; i++) { // extra -1 to avoid going out of linked list.
        current = current.next;
    }
    return current.data;
}
Instead of a count variable and reusing current,
I think it's neater to use two pointers:

Node runner = head;
for (int i = 0; i &lt; n; i++) {
    runner = runner.next;
}
Node current = head;
while (runner.next != null) {
    runner = runner.next;
    current = current.next;
}
return current.data;


Other than that, your implementation is fine, except for a few tiny style points that are barely worth mentioning, but here we go anyway:


The commented out instructions about method-only submissions are unnecessary
Add a space after commas in parameter list