import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String[] strs=sc.nextLine().split(" ");//将输入的字符串每个单词都存放在字符串数组里,一会直接可以替换
String a=sc.next(),b=sc.next();
for(String str:strs){//遍历字符串数组
if(str.equals(a)){//检查里面是否查到对应的单词
System.out.printf("%s ",b);//直接输出换之后的单词
}
else{//否则输入原来单词
System.out.printf("%s ",str);
}
}
}
}
运用了双指针算法
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
while(n-->0){
String s=sc.next();
char rs=' ';//初始化一个接受最多长度的字符
int cnt=0;//初始化一个长度
for(int i=0;i<s.length();){//这里对i没有进行处理,后面会对其有处理
int j=i+1;//初始化j指针,使其在i的后面
while(j<s.length() && s.charAt(i)==s.charAt(j)){//判断条件,j没有出界而且i位置和j位置的字符相同,j往后挪一位,直到不相等
j++;
}
if(j-i>cnt){//此时j-i就是相同字符的长度了
cnt=j-i;
rs=s.charAt(i);//将存储字符存储该字符
}
i=j;//更新i指针的位置,
}
System.out.printf("%c %d\n",rs,cnt);
}
}
}