diff --git a/linked_list/p1.py b/linked_list/p1.py index 0dc3672..765ca10 100644 --- a/linked_list/p1.py +++ b/linked_list/p1.py @@ -7,7 +7,7 @@ class Node(p0.Node): def traverse(self): node = self while node != None: - print node.val + print (node.val) node = node.next if __name__ == "__main__": diff --git a/linked_list/p6.py b/linked_list/p6.py index 752b5a0..5ef4bcb 100644 --- a/linked_list/p6.py +++ b/linked_list/p6.py @@ -5,13 +5,26 @@ import p1 class Node(p1.Node): + def __init__(self,val): + p1.Node.__init__(self,val) + self.size=0 + def length(self): - length = 1 - node = self - while node != None: - node = node.next - length += 1 - return length + if self.size!=0: + return self.size + if self.next==None: + self.size=1 + return self.size + temp=self.next + if temp.size!=0: + self.size=1+temp.size + return self.size + node =self + length=1 + if temp!=None and temp.size==0: + length+=temp.length() + self.size=length + return self.size def pad_zeros(n,node): head = node