def twoNo(l1,l2): if(l1==None or l1.size()==0): return l2 if(l2==None or l2.size()==0): return l1 n1=no(l1) print("n1 is",n1) n2=no(l2) print("n2 is",n2) n=n1+n2 n=str(n) print("n is",n) l=LinkedList() for item in n: l.addNode(item) l.show() return l
n=l.size() if(k>n): print("invalid k") return -1 nl=LinkedList() count=1 current=l.head while(count<=n-k+1 and current !=None): print(current.getData()) nl.addNode(current.getData()) current=current.getNext() count=count+1 return nl def kthtolastR(l,k): #Using recursion assuming size is unknown if(l==None): return 0 i=kthtolastR(l.getNext(), k)+1 if(i>=k): print(l.getData()) return i l=LinkedList() #random.sample(range(30),10) #[28, 9, 26, 19, 13, 1, 22, 29, 5] for item in [1,2,3,4,5,6,7] : l.addNode(item) l.show() print("Using Recursion") nl=kthtolastR(l.head, 2)