題目描述
繼上一話皮卡丘把那幾個壞人炸飛之後,小智確認皮卡丘已經完全恢復了。於是帶着皮卡丘繼續上路,前往尼比市去,小霞爲了她的腳踏車的事情也一直跟着小智。
在通往尼比市的路上,要經過一個漆黑的常磐森林,小智信心滿滿,他相信這個森林一定能抓到很多寶可夢,正走着,小霞突然害怕地雙手撲到小智的背上,小智側頭一看,咦,這不是可愛的蟲系寶可夢——綠毛蟲嗎? 小智向前走一步,撇開衣角摸出掛在皮帶上的精靈球,決定將這條綠毛蟲收服了。說時遲那時快,小智將精靈球精準地砸中綠毛蟲的頭部,綠毛蟲瞬間被收進了精靈球裏面。
雖然小霞非常討厭蟲,但是小智作爲一個不挑食、啥都喜歡的好孩子,對綠毛蟲可算是非常喜歡,而且這也是他收服的第一個寶可夢,是邁向成功的一大步!對綠毛蟲喜歡的不僅僅是小智,皮卡丘也開心的喊着"皮卡皮卡!",終於有同類一起生活了!
到了夜晚,小智和小霞都各自鑽進自己的睡袋裏睡覺了,皮卡丘和綠毛蟲卻在一塊大石頭上享受月光浴,他們開心地交流着…
實際上,不同寶可夢之間的對話是有規則的。假設綠毛蟲說出的話是字符串 s ,皮卡丘需要先說一個字符串 t , t 是 s 刪掉兩個字符之後得到的字符串,他才能獲得綠毛蟲要傳達的信息,綠毛蟲面對皮卡丘說的話也是一樣的規則。
那麼,給出兩個字符串 s 和 t ,你能判斷 t 是不是 s 刪掉兩個字符後的字符串嗎?
輸入描述
輸入有多組數據,第一行輸入一個正整數 T(1≤T≤2×10 ^5 ) ,表示測試組數。
然後對於每組數據,
第一行有一個字符串 s ,第二行有一個字符串 t。
數據中所有字符串都是由英文小寫字母 ‘a’ 至 ‘z’
組成的,長度都不是 0,且所有字符串的總長度和不超過 10^6
。
輸出描述
對於每組數據各輸出一行,如果是,輸出數字 1,如果不是,輸出數字 0。
樣例輸入 1
3
abcde
ace
abcde
aed
abcde
abcd
樣例輸出 1
1
0
0
思路:主要的注意點就是,有三種情況是可以輸出1的(看代碼),其他的沒什麼特別。
package four_star;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner read = new Scanner(System.in);
int T = read.nextInt();
while(T-->0)
{
String s = read.next();
String t = read.next();
int len1 = s.length();
int len2 = t.length();
if(len1-len2 != 2)
{
System.out.println(0);
continue;
}
int i = 0;
int j = 0;
int count = 0;
while(i<len1 && j<len2)
{
if(s.charAt(i) == t.charAt(j))
j++;
else
count++;
i++;
/*if(count>2)
break;*/
}
if(count == 2 && i==len1 && j==len2)
System.out.println(1);
else if(count == 1 && j == len2 && i == len1-1)
System.out.println(1);
else if(count ==0 && j==len2 && i==len1-2)
System.out.println(1);
else
System.out.println(0);
}
read.close();
}
}