增加925.长键按入 JavaScript版本

This commit is contained in:
jerryfishcode
2021-09-27 18:35:36 +08:00
committed by GitHub
parent 03582efc4a
commit db571bd895

View File

@ -182,6 +182,34 @@ func isLongPressedName(name string, typed string) bool {
```
JavaScript
```javascript
var isLongPressedName = function(name, typed) {
let i = 0, j = 0;
const m = name.length, n = typed.length;
while(i < m && j < n){
if(name[i] === typed[j]){ // 相同则同时向后匹配
i++; j++;
} else {
if(j === 0) return false; // 如果是第一位就不相同直接返回false
// 判断边界为n-1,若为n会越界,例如name:"kikcxmvzi" typed:"kiikcxxmmvvzzz"
while(j < n - 1 && typed[j] === typed[j-1]) j++;
if(name[i] === typed[j]){ // j跨越重复项之后再次和name[i]匹配,相同则同时向后匹配
i++; j++;
} else {
return false;
}
}
}
// 说明name没有匹配完 例如 name:"pyplrzzzzdsfa" type:"ppyypllr"
if(i < m) return false;
// 说明type没有匹配完 例如 name:"alex" type:"alexxrrrrssda"
while(j < n) {
if(typed[j] === typed[j-1]) j++;
else return false;
}
return true;
};
```
-----------------------
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)