Change two adjacent nodes in a doubly linked list. Python

Viewed 15

Help me to implement the method, you need to change two adjacent nodes in a doubly linked list not by values I really need help, I've already searched all the forums For example, the input to the method at index 0. Input 1->2->3. Output 2->1->3 Entering the method by index2. Input 1->2->3. Output 1->3->2

class DoubleLinkedList:
    class Node:
        previous_node = None
        next_node =None
        element = None
        
        def __init__(self,element, next_node = None, previous_node = None) -> None:
            self.element = element
            self.next_node = next_node
            self.previous_node = previous_node
    head = None
    tail = None
    length = 0
    
    def add(self, element):
        self.length +=1
        if not self.head:
            self.head = self.Node(element)
            return element
        elif not self.tail:
            self.tail = self.Node(element, None, self.head)
            self.head.next_node = self.tail
            return element
        else:
            self.tail = self.Node(element, None, self.tail)
            self.tail.previous_node.next_node = self.tail
            return element    
                    
    def __iter__(self):
        node = self.head
        
        while node:
            yield node.element
            node = node.next_node
0 Answers
Related