longNode = longNode.next   
            shortNode = shortNode.next

    return False

def getListLength(node):
    counter = 0
    while node:
        counter += 1
        node = node.next

    return counter

nodeOne1 = Node(7)
nodeOne2 = Node(1)
nodeOne1.next = nodeOne2
nodeOne3 = Node(6)
nodeOne2.next = nodeOne3

nodeTwo1 = Node(5)
nodeTwo2 = Node(9)
nodeTwo1.next = nodeTwo2
nodeTwo3 = Node(2)
nodeTwo2.next = nodeTwo3

nodeOne1.next = nodeTwo1


answerNode = returnIntersectingNode(nodeOne1, nodeTwo1)
print_list(answerNode)
      kthArray.insert(0, node.data)
      kthArray.pop(k)
    else:
      kthArray.insert(0, node.data)

    node = node.next

  print kthArray
  if len(kthArray) != k:
    print "List too short!!"
    return None

  return kthArray[k-1]

node1 = Node(1)
node2 = Node(2)
node1.next = node2
node3 = Node(3)
node2.next = node3
node4 = Node(4)
node3.next = node4
node5 = Node(5)
node4.next = node5
node6 = Node(6)
node5.next = node6
node7 = Node(7)
node6.next = node7

print_list(node1)
print findKthLastNode(node1, 4)
    if not leftNode:
        print "No values in list smaller than the pivot!"
        return rightHeadNode
    elif not rightNode:
        print "No values greater or equal to the pivot in list!"
        return leftHeadNode
    else:
        leftNode.next = rightHeadNode
        return leftHeadNode


node1 = Node(10)
node2 = Node(2)
node1.next = node2
node3 = Node(65416)
node2.next = node3
node4 = Node(111)
node3.next = node4
node5 = Node(0)
node4.next = node5
node6 = Node(6)
node5.next = node6
node7 = Node(5)
node6.next = node7

print "Original List" 
print_list(node1)

print "Partitioned List"
print_list(partitionList(node1, 11))