欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个字符串删除判断是否达到两字符匹配

程序员文章站 2023-12-21 15:49:46
...

【问题描述】

输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串s。

限制条件:字符串s和t的长度不能超过1024

【输入形式】

 输入两行数据,第一行输入字符串s,第二行输入字符串t。

【输出形式】

 输出yes或no

【样例输入】

bce

abcde

【样例输出】

 yes
#include<bits/stdc++.h>
using namespace std;
int f[1024],flag; 
int main(){
	string s1;
	string s2;
	cin>>s1;
	cin>>s2;
	int pos=0;
	int l1=s1.length();
	int l2=s2.length();
	if(l2<l1){
		cout<<"no"<<endl;
		
	}else if(l2==l1){
		if(s1==s2){
			cout<<"yes"<<endl;
		}else{
			cout<<"no"<<endl; 
		}
	}else{
		for(int i=0;i<l2;i++){
			char ch=s2[i];
			for(int j=pos;j<l1;j++){
				if(f[j]==0){
					if(ch==s1[j]){
					    f[j]=1;
					    pos=j;
					    break;
				    }
				}	
			}
				
		}
		for(int k=0;k<l1;k++){
			if(f[k]!=1){
				flag=1;
				cout<<"no"<<endl;
			}
		}
		if(!flag){
			cout<<"yes"<<endl;
		}
	}
	return 0;
} 

PS:欢迎小伙伴多多交流!!!

上一篇:

下一篇: