62-圆圈中最后剩下的数字
题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求这个圆圈里剩下的最后一个数字。
def delete_circle_n(head,n): p = head while p!=p.next: i = 0 while i<n: p = p.next i += 1 q = p.next p.data = q.data p.next = q.next del q return p
注:约瑟夫环问题,使用环形链表模拟求出最后剩下的一个节点,即p==p.next时的节点。