Question

    What will be the output of the following code when

    printList is called with a linked list containing the values 1 -> 2 -> 3? class Node:     def __init__(self, data):         self.data = data         self.next = None class LinkedList:     def __init__(self):         self.head = None     def append(self, data):         new_node = Node(data)         if not self.head:             self.head = new_node             return         last_node = self.head         while last_node.next:             last_node = last_node.next         last_node.next = new_node     def printList(self):         current = self.head         while current:             print(current.data, end=" -> ")             current = current.next         print("None") ll = LinkedList() ll.append(1) ll.append(2) ll.append(3) ll.printList()
    A 1 -> 2 -> 3 -> None Correct Answer Incorrect Answer
    B 1 -> None Correct Answer Incorrect Answer
    C 2 -> 3 -> None Correct Answer Incorrect Answer
    D 3 -> 2 -> 1 -> None Correct Answer Incorrect Answer
    E None Correct Answer Incorrect Answer

    Solution

    In this code, a linked list is implemented where each Node contains a data field and a reference to the next node. The LinkedList class provides methods to append nodes and print the list. The append method adds nodes to the end of the list, and printList iterates through the list, printing each node's data followed by " -> ". When nodes with values 1, 2, and 3 are appended, the list becomes 1 -> 2 -> 3, and printList outputs 1 -> 2 -> 3 -> None. Why Other Options Are Wrong: B) 1 -> None: This option is incorrect because it implies that only 1 is in the list, ignoring the 2 and 3 that were appended. C) 2 -> 3 -> None: This option is incorrect because it suggests that the list starts with 2, which is not true since 1 was added first. D) 3 -> 2 -> 1 -> None: This option is incorrect as it represents a reverse order of the list, which does not occur when appending in the given code. E) None: This option is incorrect as it implies there is no output or that the list is empty, which is not the case.

    Practice Next

    Relevant for Exams: