1class Solution:2def pushDominoes(self, dom: str) -> str:3from collections import deque45n = len(dom)6d = set()7q = deque()8arr = [0 for i in range(n)]9for i in range(n):10if dom[i] == "L":11arr[i] = -112d.add(i)13q.append((i, "L"))14if dom[i] == "R":15arr[i] = 116d.add(i)17q.append((i, "R"))18while q:19t1 = set()20for _ in range(len(q)):21t = q.popleft()22if t[1] == "L":23if t[0] - 1 >= 0 and t[0] - 1 not in d:24t1.add(t[0] - 1)25arr[t[0] - 1] -= 126else:27if t[0] + 1 < n and t[0] + 1 not in d:28t1.add(t[0] + 1)29arr[t[0] + 1] += 130for val in t1:31d.add(val)32if arr[val] > 0:33q.append((val, "R"))34elif arr[val] < 0:35q.append((val, "L"))36ans = ""37for val in arr:38if val < 0:39ans += "L"40elif val > 0:41ans += "R"42else:43ans += "."44return ans