Instagram
youtube
Facebook
Twitter

Get Node Value| Linked List

TASK(easy)

Given a pointer to the head of a linked list and a specific position, determine the data value at that position. Count backwards from the tail node. The tail is at postion 0, its parent is at 1 and so on.

Example

head refers to 3->2->1->0->NULL

positionFromTail=2
Each of the data values matches its distance from the tail. The value 2 is at the desired position.

Function Description

Complete the getNode function in the editor below.

getNode has the following parameters:

  • SinglyLinkedListNode pointer head: refers to the head of the list
  • int positionFromTail: the item to retrieve

Returns

  • int: the value at the desired position

Input Format

The first line contains an integer t, the number of test cases. Each test case has the following format:
The first line contains an integer n, the number of elements in the linked list.
The next n lines contains an integer, the data value for an element of the linked list.
The last line contains an integer positionFromTail, the position from the tail to retrieve the value of.

Constraints

1<=t<=10
1<=n, m<=1000
1<-list[i]<=1000, where  is the  element of the linked list.
0<=positionFromTail

Sample Input

2

1

1

0

3

3

2

1

2

Sample Output

1

3

SOLUTION 1

def getNode(llist, pos):

    t = []

    while llist:

        t.append(llist.data)

        llist = llist.next

    return t[-pos - 1]

EXPLANATION STEPS

1.Initialize: Set a pointer to the head of the linked list.

2.Traverse: Move the pointer to the desired node.

3.Retrieve Value: Access the value of the node where the pointer is currently positioned.

4.Handle Edge Cases: Check for out-of-bounds conditions if needed.