g0901_1000.s0925_long_pressed_name.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java Show documentation
Show all versions of leetcode-in-java Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0901_1000.s0925_long_pressed_name;
// #Easy #String #Two_Pointers #2022_03_29_Time_1_ms_(84.87%)_Space_40.1_MB_(93.12%)
public class Solution {
public boolean isLongPressedName(String name, String typed) {
int i = 0;
int j = 0;
char prev = '$';
if (typed.length() < name.length()) {
return false;
}
while (i < name.length() && j < typed.length()) {
while (j < typed.length() && typed.charAt(j) != name.charAt(i)) {
if (typed.charAt(j) != prev) {
return false;
}
if (j == typed.length() - 1) {
return false;
}
j++;
}
prev = name.charAt(i);
i++;
j++;
}
if (i < name.length()) {
return false;
}
for (; j < typed.length(); j++) {
if (typed.charAt(j) != prev) {
return false;
}
}
return true;
}
}