删除字符串中的所有相邻重复项

class Solution:

    def removeDuplicates(self, s: str, k: int) -> str:

        # 栈顶的元素为[x, y]的列表, 其中:

        # x为字符串s的迭代字符

        # y为字符x连续出现的次数

        stack = []

        for i in s:

            # 如果栈为空,则字符i首次出现,[i,1]入栈

            if not stack:

                stack.append([i, 1])

            else:

                # 如果i恰好为栈顶的字符,则出现次数加一,否则[i,1]入栈

                if i == stack[-1][0]:

                    stack[-1][1] += 1

                    # 判断字符i的出现次数,如果出现k次,则直接出栈删除

                    if stack[-1][1] >= k:

                        stack.pop()

                else:

                    stack.append([i, 1])

        # 连接栈中的元素,并返回结果

        res = "".join([i[0]*i[1] for i in stack])

return res