C ++中的长按名称
假设一个人在键盘上输入了一些名字。有时,某些按钮被误按了很长时间。因此,它可能会键入一个或多个额外字符。因此,我们将使用两个字符串,并检查第二个字符串是否是长按的名称。因此,如果名称是“Amit”,而第二个字符串是“Ammittt”,则是长按的名称。但是“Ammttt”不是,因为此处没有字符i。
为了解决这个问题,我们将遵循以下步骤-
令j:=0
对于i:=0,i<second.size,将i增加1-
如果j<Actual_name.sizeandActual_name[j]=second[i],则将j增加1
当j=Actual_name.size时返回true,否则返回false
示例
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
bool isLongPressedName(string name, string typed) {
int j = 0;
for(int i = 0; i < typed.size(); i++){
if(j < name.size() && name[j] == typed[i])j++;
}
return j == name.size();
}
};
main(){
Solution ob;
string res = ob.isLongPressedName("Amit", "Ammittt") ? "true" :
"false";
cout << res;
}输入值
"Amit" "Ammittt"
输出结果
true