Ejemplo n.º 1
0
from linked_list import LinkedList, Node


def loop_detection(linkedList):
    node = linkedList.head
    previousNodes = []

    while node is not None:
        for pn in previousNodes:
            if node is pn:
                print(node.data)
                return
        previousNodes.append(node)
        node = node.nextNode


linkedList = LinkedList()

aNode = Node('A', None)
bNode = Node('B', None)
cNode = Node('C', None)
dNode = Node('D', None)
eNode = Node('E', cNode)

linkedList.appendRawNodeToTail(aNode)
linkedList.appendRawNodeToTail(bNode)
linkedList.appendRawNodeToTail(cNode)
linkedList.appendRawNodeToTail(dNode)
linkedList.appendRawNodeToTail(eNode)

loop_detection(linkedList)
Ejemplo n.º 2
0
                return

        node = node.nextNode

    print("No match")
    return

linkedListOne = LinkedList()

aNode = Node('A', None)
bNode = Node('B', None)
cNode = Node('C', None)
dNode = Node('D', None)
eNode = Node('E', None)

linkedListOne.appendRawNodeToTail(aNode)
linkedListOne.appendRawNodeToTail(bNode)
linkedListOne.appendRawNodeToTail(cNode)
linkedListOne.appendRawNodeToTail(dNode)
linkedListOne.appendRawNodeToTail(eNode)

linkedListTwo = LinkedList()

fNode = Node('F', None)
gNode = Node('G', None)
hNode = Node('H', None)
iNode = Node('I', dNode)

linkedListTwo.appendRawNodeToTail(fNode)
linkedListTwo.appendRawNodeToTail(gNode)
linkedListTwo.appendRawNodeToTail(hNode)