算法14~19中,la、lb、lc为各个单链表的头指针
算法14~19中,la、lb、lc为各个单链表的头指针,直接用头指针表示和操作单链表。
16.设计算法,将一个单链表la分裂成奇偶两个单链表,偶数位序的结点留在原表,奇数位序的形成一个新表lb
答案
class LNode: def __init__(self,data): self.data=data self.next=None class LinkList: def __init__(self): self.head = LNode(None) def split(la:LinkList)->LinkList: lb = LinkList() pa = la.head.next pb = lb.head pre = la.head cnt = 1 while pa: if cnt %2 ==1: #奇数位摘下给lb pre.next = pa.next pb.next = pa pb = pa pa = pre.next else: pre = pa pa = pa.next cnt +=1 pb.next = None return lb