We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 86eb47b commit 9171260Copy full SHA for 9171260
kotlin/0838-push-dominoes.kt
@@ -0,0 +1,30 @@
1
+class Solution {
2
+ fun pushDominoes(d: String): String {
3
+ val domArr = d.toCharArray()
4
+ val q = LinkedList<Pair<Int, Char>>()
5
+
6
+ for ((i, v) in domArr.withIndex()) {
7
+ if (v != '.')
8
+ q.addLast(i to v)
9
+ }
10
11
+ while (q.isNotEmpty()) {
12
+ val (i, v) = q.removeFirst()
13
+ if (v == 'L' && i > 0 && domArr[i - 1] == '.') {
14
+ q.addLast(i - 1 to 'L')
15
+ domArr[i - 1] = 'L'
16
+ } else if (v == 'R') {
17
+ if (i + 1 < domArr.size && domArr[i + 1] == '.') {
18
+ if (i + 2 < domArr.size && domArr[i + 2] == 'L') {
19
+ q.removeFirst()
20
+ } else {
21
+ q.addLast(i + 1 to 'R')
22
+ domArr[i + 1] = 'R'
23
24
25
26
27
28
+ return String(domArr)
29
30
+}
0 commit comments