假设一个人在键盘上输入了一些名字。有时,某些按钮被误按了很长时间。因此,它可能会键入一个或多个额外字符。因此,我们将使用两个字符串,并检查第二个字符串是否是长按的名称。因此,如果名称是“ Amit”,而第二个字符串是“ Ammittt”,则是长按的名称。但是“ Ammttt”不是,因为此处没有字符i。
为了解决这个问题,我们将遵循以下步骤-
令j:= 0
对于i:= 0,i <second.size,将i增加1-
如果j <Actual_name.size and Actual_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