Esempio n. 1
0
def addLists(l1, l2, carry):
    if (l1 == None and l2 == None and carry == 0):
        return None

    value = carry
    if (l1 != None):
        value += l1.value
    if (l2 != None):
        value += l2.value

    result = Node(value % 10)

    # recursao
    if (l1 != None or l2 != None):
        more = addLists(None if l1 == None else l1.next,
                        None if l2 == None else l2.next,
                        1 if value >= 10 else 0)

        result.SetNext(more)

    return result
Esempio n. 2
0
from LinkedList import Node

node1 = Node(7)
node2 = Node(1)
node3 = Node(6)

node4 = Node(5)
node5 = Node(9)
node6 = Node(2)

node5.SetNext(node6)
node4.SetNext(node5)

node2.SetNext(node3)
node1.SetNext(node2)


# node1.printAllSequence()
def AllSequence(node):
    while (node != None):
        print node.value
        node = node.next


def addLists(l1, l2, carry):
    if (l1 == None and l2 == None and carry == 0):
        return None

    value = carry
    if (l1 != None):
        value += l1.value
Esempio n. 3
0
from LinkedList import Node

node1 = Node(3)
node2 = Node(5)
node3 = Node(8)
node4 = Node(5)
node5 = Node(10)

node4.SetNext(node5)
node3.SetNext(node4)
node2.SetNext(node3)
node1.SetNext(node2)


# node1.printAllSequence()
def AllSequence(node):
    while (node != None):
        print node.value
        node = node.next


def partition(node, k=5):
    head = node
    tail = node

    while node != None:
        next = node.next
        if (node.value < k):
            node.next = head
            head = node
        else:
Esempio n. 4
0
from LinkedList import Node

node1 = Node(12)
# node1.SetNext(Node(15).SetNext(Node(1)))
node2 = Node(15)
node3 = Node(1)

node2.SetNext(node3)
node1.SetNext(node2)


def printKthToLast(head, k):
    if head == None:
        return 0
    index = printKthToLast(head.next, k) + 1
    if index <= k:
        print "%dth to last node is %d" % (index, head.value)
    return index


printKthToLast(node1, 2)
Esempio n. 5
0
node1 = Node(7)
node2 = Node(1)
node3 = Node(6)
# node4 = Node(7)
node4 = Node(99999)
node5 = Node(7)
# node6 = Node(7)

nodeA = Node(88)
nodeB = Node(99)
nodeC = Node(884)

# node5.SetNext(node6)
# node5.SetNext(node6)
node4.SetNext(node5)
node3.SetNext(node4)
node2.SetNext(node3)
node1.SetNext(node2)

nodeC.SetNext(node4)
nodeB.SetNext(nodeC)
nodeA.SetNext(nodeB)


class Result:
    def __init__(self, tail, size):
        self.tail = tail
        self.size = size