调用队列类的方法,设计算法删除队列中最后一个值为ite
调用队列类的方法,设计算法删除队列中最后一个值为item的元素,即离队首最远的值为item的元素
答案
from collections import deque def delLastItem(q:deque, item): tmp = deque() last_pos = -1 idx = 0 #第一轮找最后出现位置 for v in q: if v == item: last_pos = idx idx +=1 if last_pos == -1: return #第二轮复制,跳过该位置 cur=0 while q: val = q.popleft() if cur != last_pos: tmp.append(val) cur +=1 while tmp: q.append(tmp.popleft())