ea4d1c17创建于 2023年3月9日历史提交
class Solution:
    def pushDominoes(self, dominoes: str) -> str:
        dom = list(dominoes)
        q = collections.deque()
        for i, d in enumerate(dom):
            if d != '.':
                q.append((i, d))
        
        while q:
            i, d = q.popleft()

            if d == 'L' and i > 0 and dom[i - 1] == '.':
                q.append((i - 1, 'L'))
                dom[i - 1] = 'L'
            elif d == 'R':
                if i + 1 < len(dom) and dom[i + 1] == '.':
                    if i + 2 < len(dom) and dom[i + 2] == 'L':
                        q.popleft()
                    else:
                        q.append((i + 1, 'R'))
                        dom[i + 1] = 'R'

        return ''.join(dom)