给定长度为n的只有小写字母的字符串s,进行m次操作,每次将[l,r]范围内所有c1字符改成c2,输出操作完的字符串
第一行两个数n,m
第二行一个字符串s
之后m行,每行两个数l r两个字符c1 c2
输出一行一个字符串
5 3 wxhak 3 3 h x 1 5 x a 1 3 w g
gaaak
第一次修改后为wxxak
第二次修改后为waaak
第三次修改后为gaaak
对于100%的数据,有1<=n , m<=100
package main import ( "fmt" ) func main() { var n,m int fmt.Scan(&n,&m) bytes := make([]byte, n) for i:=0;i<n;i++{ fmt.Scanf("%c", &bytes[i]) } // 读掉字符串的 \n fmt.Scanf("\n") for i:=0;i<m;i++{ var l,r int var c1,c2 byte fmt.Scanf("%d %d %c %c\n",&l,&r,&c1,&c2) for i:=l-1;i<=r-1;i++{ if bytes[i] == c1 { bytes[i] = c2 } } } for i:=0;i<n;i++{ fmt.Printf("%c", bytes[i]) } }