- #1
FallenApple
- 566
- 61
So I have a linked list a->b->c->d
and I want to make another list
b->a->d->c
in a systematic way by interchanging pointers. But for some reason it isn't working. All I did was move the link between b and c into b to a. Then the link from a to b, changed to a to d. Then the one connecting c to d is reversed. I'm not sure what went wrong.
The output is
the current linked list
a
b
c
d
the new linkedlist
b
a
c
d
and I want to make another list
b->a->d->c
in a systematic way by interchanging pointers. But for some reason it isn't working. All I did was move the link between b and c into b to a. Then the link from a to b, changed to a to d. Then the one connecting c to d is reversed. I'm not sure what went wrong.
Python:
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
A=['a','b','c','d']
head=ListNode(A[0])
#filling the linked list with abcd
temp=head
for i in A[1:]:
temp.next=ListNode(i)
temp=temp.next
point=head
print("the current linked list")
while(point):
print(point.val)
point=point.next
print(" ")
#attempting to alter the list
Temp1=head.next.next
head.next.next=head # moving the link between b-c to a
Temp2=head.next
head.next=head.next.next.next #moving the link between a-b to d
head.next.next.next=Temp1 #moving the link between d and c
head=Temp2
#print(head)
print("the new linkedlist")
point=head
while(point):
print(point.val)
point=point.next
the current linked list
a
b
c
d
the new linkedlist
b
a
c
d