分类讨论去模拟
思路
见: https://leetcode-cn.com/problems/push-dominoes/solution/chao-yue-559de-yong-hu-by-wwwtttjjj-2/
代码
class Solution {
public:
string pushDominoes(string s) {
int left=0,right=0,len=s.size();
for(int i=0;i<len;i++)
{
if(s[i]!='.')
{
left=right;
right=i;
if(s[left]=='.'&&s[right]=='L')
for(int j=left;j<=right;j++)
s[j]='L';
else if(s[left]==s[right])
for(int j=left;j<=right;j++)
s[j]=s[left];
else if(s[left]=='R'&&s[right]=='L')
{
int mid=(left+right)/2;
if((left+right)%2==0)
{
for(int j=left;j<mid;j++)
s[j]='R';
for(int j=mid+1;j<=right;j++)
s[j]='L';
}
else
{
for(int j=left;j<=mid;j++)
s[j]='R';
for(int j=mid+1;j<=right;j++)
s[j]='L';
}
}
}
}
if(s[right]=='R')
for(int i=right;i<len;i++)
s[i]='R';
return s;
}
};