about summary refs log tree commit diff
path: root/scratch/facebook/kth-to-last-node-in-singly-linked-list.py
blob: dd258d924d10de84ddaba5590e3034018054b1c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from linked_list import Node, from_list

def kth_to_last_node(k, node):
    one = node
    two = node
    for _ in range(k - 1):
        if not one:
            return None
        one = one.next
    while one.next:
        one = one.next
        two = two.next
    return two.value


xs = from_list(["Angel Food", "Bundt", "Cheese", "Devil's Food", "Eccles"])
result = kth_to_last_node(2, xs)
print(result)
assert result == "Devil's Food"
print("Success!")

xs = from_list(["Angel Food", "Bundt"])
result = kth_to_last_node(30, xs)
print(result)
assert result is None
print("Success!")