LeetCode925. 长按键入

it2024-11-29  2

//925. 长按键入 //转换成这样一个问题:typed能不能由name变换而来 //使用双指针(i,j)遍历两个字符串 //如果对应的字符相同,都加一 //如果不同,就要看name[i-1]是否等于typed[j] // 如果相同,j加一 // 如果不同,直接返回false //最后需要判断,name是否全部遍历了 class Solution { public: bool isLongPressedName(string name, string typed) { if (name.empty() || typed.empty() || name.size() > typed.size()) return name == typed; name = "#" + name + "#"; typed = "#" + typed; int i, j; for (i = 0, j = 0; i < name.size() && j < typed.size(); j++) { if (name[i] == typed[j]) i++; else if (name[i - 1] != typed[j]) return false; } return name[i] == '#'; } };
最新回复(0)