diff options
| author | Walt Mankowski <waltman@pobox.com> | 2020-07-07 15:33:53 -0400 |
|---|---|---|
| committer | Walt Mankowski <waltman@pobox.com> | 2020-07-07 15:33:53 -0400 |
| commit | 3dc19c692e316e365ef61ae7074776a1b96bbd8e (patch) | |
| tree | 2d3f715932ccc4eec107d3edd3fe4a3ee3e6d098 /challenge-068/walt-mankowski/python/ch-2.py | |
| parent | a23cb92fb4c15529c9a1a28b96ca25b7610c6c11 (diff) | |
| download | perlweeklychallenge-club-3dc19c692e316e365ef61ae7074776a1b96bbd8e.tar.gz perlweeklychallenge-club-3dc19c692e316e365ef61ae7074776a1b96bbd8e.tar.bz2 perlweeklychallenge-club-3dc19c692e316e365ef61ae7074776a1b96bbd8e.zip | |
python code for challenge 68
Diffstat (limited to 'challenge-068/walt-mankowski/python/ch-2.py')
| -rw-r--r-- | challenge-068/walt-mankowski/python/ch-2.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/challenge-068/walt-mankowski/python/ch-2.py b/challenge-068/walt-mankowski/python/ch-2.py new file mode 100644 index 0000000000..5f0902ab23 --- /dev/null +++ b/challenge-068/walt-mankowski/python/ch-2.py @@ -0,0 +1,40 @@ +class Node: + def __init__(self, val): + self.val = val + self.next = None + +def make_list(a): + L = Node(a[0]) + cur = L + for val in range(1, len(a)): + node = Node(a[val]) + cur.next = node + cur = node + return L + +def print_list(L): + while L: + print(L.val, end='') + if L.next: + print(' => ', end=''); + L = L.next + print() + +def reorder_list(L): + # save the list in an array + a = [] + while L: + a.append(L) + L = L.next + + # now reorder things + n = len(a)-1 + for i in range(0, int(n/2)): + a[n-i].next = a[i].next + a[i].next = a[n-i] + a[n-i-1].next = None + +L = make_list(range(1,11)) +print_list(L) +reorder_list(L) +print_list(L) |
