Your friend typed your name but some characters may have been pressed too long. Given the name you intended and the typed string, return true if typed could be a long-pressed version of name.
Two pointers: match each character of name with typed. Consecutive duplicates in typed are allowed.
- i pointer on name, j pointer on typed.
- While j < typed.length:
- If name[i]==typed[j]: advance both.
- Else if j>0 and typed[j]==typed[j-1]: advance j (long press).
- Else return false.
- Return i == name.length.
- Time Complexity: O(N+M)
- Space Complexity: O(1)