题目解析
给定一次字符串
再给n次操作
每次操作将l到r之间的字符串截取出来 放到q和h之间 (如果没有则放到最后)
解题思路
字符串查找
拼接
代码
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws IOException
{
String s = sc.next();
int n = sc.nextInt();
while (n-- > 0)
{
int l = sc.nextInt() - 1, r = sc.nextInt() - 1; // 字符串的下标从0开始, 题目从1开始
String q = sc.next(), h = sc.next();
String res = s.substring(l, r + 1); // 将中间的字符串截取出来
s = s.substring(0, l) + s.substring(r + 1); // 将剩下来的字符串拼接起来
if (s.indexOf(q + h) == -1) // 没有找到 则添加到最后面
s = s + res;
else
{
int m = s.indexOf(q + h) + q.length(); // 找出位置
s = s.substring(0, m) + res + s.substring(m); // 拼接起来
}
}
out.println(s);
out.flush();
out.close();
}
static Scanner sc = new Scanner(System.in);
static PrintWriter out = new PrintWriter(System.out);
}