Find kth element from tail of singly linked list in one pass
Trust... it's all about trust.

Trust your length is accurate (if it is not, you have other problems).

Then, your code becomes a simple loop:

// length has the size of the list
int kthPos = length - kthElem;

if (kthPos &lt; 0) {
    return null;
}

Node&lt;T&gt; node = head;
while (kthPos-- &gt; 0) {
    node = node.getNext();
}
return node;