Arrange consonants and vowels nodes in a linked list
class sll(object):
def __init__(self,val):
self.value = val
self.next = None
def __repr__(self):
return str(self.value)
def segregate(head,vowels):
result = sll(0)
result.next = head
new_head = result
mvng_ptr = new_head
while mvng_ptr.next:
if mvng_ptr.next.value not in vowels:
tmp_node = mvng_ptr.next
mvng_ptr.next = mvng_ptr.next.next
tmp_node.next = new_head.next
new_head.next = tmp_node
new_head = new_head.next
continue
mvng_ptr = mvng_ptr.next
return result.next
Time Complexity O(n)