import java.util.*;
import java.lang.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        String str = new Scanner(System.in).nextLine();
        StringBuffer sb = new StringBuffer(str);
        int p = 0;
        while(p<sb.length()){
            if(sb.substring(p,p+1).equals("L")){
                int left = p, right=p+1;
                while(right<sb.length() && sb.substring(right,right+1).equals(".")) right+=1;
                if(right>=sb.length()) break;
                if(sb.substring(right,right+1).equals("L")) for(int i=left;i<right;i++) sb.replace(i,i+1,"L");
                p = right;
            }else if(sb.substring(p,p+1).equals("R")){
                int left = p, right=p+1;
                while(right<sb.length() && sb.substring(right,right+1).equals(".")) right+=1;
                if(right>=sb.length()) break;
                if(sb.substring(right,right+1).equals("R")) for(int i=left;i<right;i++) sb.replace(i,i+1,"R");
                if(sb.substring(right,right+1).equals("L")) {
                    if((right-left)%2!=0){
                        for(int i=left;i<left+(right-left)/2+1;i++) sb.replace(i,i+1,"R");
                        for(int i=left+(right-left)/2+1;i<right;i++) sb.replace(i,i+1,"L");
                    }else{
                        for(int i=left;i<left+(right-left)/2;i++) sb.replace(i,i+1,"R");
                        for(int i=left+(right-left)/2+1;i<right;i++) sb.replace(i,i+1,"L");
                    }
                }
                p = right;
            }
            else p+=1;
        }
        //头尾
        if(sb.length()>1 && sb.substring(0,1).equals(".") && sb.substring(1,2).equals("L")) sb.replace(0,1,"L");
        if(sb.length()>1 && sb.substring(sb.length()-1,sb.length()).equals(".") && sb.substring(sb.length()-2,sb.length()-1).equals("R")) sb.replace(sb.length()-1,sb.length(),"R");
        System.out.println(sb.toString());
    }
}

个人经验:

复杂的逻辑,这种模拟题我非常容易犯错,代码出bug,因为我是跳跃思维,不细心,反复地检查和debug会浪费大把的时间。

这里给出一个针对类似我这种性格的人的办法:①从简单的用例测起 + ②从简单的逻辑写起

解释一下上面2点,就是:不用一开始就全部把逻辑代码写完,先写一些核心的,简单的逻辑,舍弃掉其他的逻辑,用例也只验这一种情况,举个例子:有个题目要讨论奇偶,你就只写奇数的情况,然后也只给奇数用例,例如1、3,非常简单好测,弄明白了之后再逐步讨论其他的情况,最后边debug边写完了代码,不用重复返工,即便要返工,修改的工作量也不会很多