题目链接
一些话
流程
打表一个字符串,用一个指针指向它的开头,另一个指针指向输入字符串的开头,每轮循环移动,两个指针指向的元素作比较,相同则第一个指针后移,最后if判断第一个指针位置是否为5
套路
同时访问两个元素(不同字符串或同一字符串)
双指针
int j = 0; for(int i = 0;i < n.size();i++){//同时访问两个元素,双指针 if(n[i] == s[j]) j++; }
ac代码
#include <iostream> using namespace std; int main(){ string s = "hello"; string n; cin >> n; int j = 0; for(int i = 0;i < n.size();i++){//同时访问两个元素,双指针 if(n[i] == s[j]) j++; } if(j == 5) cout << "YES" << endl; else cout << "NO" << endl; return 0; }