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.