mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 04:54:51 +08:00
增加925.长键按入 JavaScript版本
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user