• + 0 comments

    here's my C++ solution. If we can get the length of the linked list, we can get that position form the head. Why? Because I'm initially given the head pointer so I just have to count certain number from that head.

    int getNode(SinglyLinkedListNode* llist, int positionFromTail)
    {
        int LSize = 0;
        SinglyLinkedListNode* counter = llist;
        while(counter)
        {
            ++LSize;
            counter = counter->next;
        }
        int positionFromHead = LSize - positionFromTail;
        while (positionFromHead-- > 1)
        {
            llist = llist->next;
        }
        return llist->data;
    }