What is the functionality of the following code?
public int function()
{
if(head == null)
return Integer.MIN_VALUE;
int var;
Node temp = head;
while(temp.getNext() != head)
temp = temp.getNext();
if(temp == head)
{
var = head.getItem();
head = null;
return var;
}
temp.setNext(head.getNext());
var = head.getItem();
head = head.getNext();
return var;
}
a) Return data from the end of the list
b) Returns the data and deletes the node at the end of the list
c) Returns the data from the beginning of the list
d) Returns the data and deletes the node from the beginning of the list
Answer: d
Explanation: First traverse through the list to find the end node, then manipulate the ‘next’ pointer such that it points to the current head’s next node, return the data stored in head and make this next node as the head.
Related Posts
What is the result of the given postfix expression? abc*+ where a=1, b=2, c=3.
Which of the following statement is incorrect?
While evaluating a postfix expression, when an operator is encountered, what is the correct operation to be performed?
Which of the following is not an application of stack?
Which of these operators have the highest order of precedence?
In Postfix expressions, the operators come after the operands.
What is the time complexity of evaluation of postfix expression algorithm?
Join The Discussion