调用队列类的方法,设计算法删除队列中最后一个值为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())

题目信息

题号:8328
题型:简答题
知识点:Python
难度:普通