数据结构 有序队列 一个由小写字母组成的字符串 S。 我们规定每次移动中,选择最左侧的字母,将其从原位置移除, 并加到字符串的末尾。这样的移动可以执行任意多次返回我们移动之后可以拥有的最小字符。

class Queue:
    def __init__(self):
        self.items = []

    def isEmpty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.insert(0,item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)
def fun(s):
    '''一开始给出了一个由小写字母组成的字符串 S。
    我们规定每次移动中,选择最左侧的字母,将其从原位置移除,
    并加到字符串的末尾。这样的移动可以执行任意多次返回我们移动之后可以拥有的最小字符串'''
    q_s=Queue()
    l_st=list(s)
    q_s.items=l_st
    alph=min(l_st)
    stop=False

    while not stop:
        a = q_s.dequeue()
        q_s.enqueue(a)
        if a == alph:
            stop=True
    return ''.join(q_s.items)
print(fun('cbdjfaff'))


版权声明:本文为qq_45801766原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。