在一行输入两个整数
![]()
。
接下来一行输入一个只含小写字母的字符串
,长度为
。
再接下来
行,每行输入两个整数
和两个字符
,用空格分隔,其中
,
为小写字母。
输出一个只含小写字母的字符串,表示执行完所有操作后的最终字符串。
5 3 wxhak 3 3 h x 1 5 x a 1 3 w g
gaaak
初始字符串为 `wxhak`;
第 1 次操作将位置 3 上的 `h` 替换为 `x`,得到 `wxxak`;
第 2 次操作将位置 1 至 5 的 `x` 替换为 `a`,得到 `waaak`;
第 3 次操作将位置 1 至 3 的 `w` 替换为 `g`,得到 `gaaak`。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(), m = in.nextInt(); in.nextLine(); StringBuilder str = new StringBuilder( in.nextLine()); //stringbuilder 可修改的字符串 for (int i = 0; i < m; i++) { int l = in.nextInt(), r = in.nextInt(); char c1 = in.next().charAt(0), c2 = in.next().charAt(0); //替换和修改的字符 for (int j = l - 1; j < r; j++) { if (str.charAt(j) == c1) { str.setCharAt(j, c2); //重置该位置的字符 } } } System.out.println(str); } }
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(),m=sc.nextInt(); String[] arr=sc.next().split(""); for(int i=0;i<m;i++){ int l=sc.nextInt(),r=sc.nextInt(); String c1=sc.next(),c2=sc.next(); for(int j=l-1;j<=r-1;j++){ if(arr[j].equals(c1)) arr[j]=c2; } } for(String s:arr) System.out.print(s); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); String str = scanner.next(); char[] c = str.toCharArray(); for(int i = 0;i < m;i++){ int l = scanner.nextInt(); int r = scanner.nextInt(); char c1 = scanner.next().charAt(0); char c2 = scanner.next().charAt(0); for(int j = l - 1;j < r ;j++){ if(c[j] == c1){ c[j] = c2; } } } System.out.println(c); } }