链接:925. 长按键入
题解:https://leetcode-cn.com/problems/long-pressed-name/solution/chang-an-jian-ru-by-leetcode-solution/
复杂度:
class Solution { public: bool isLongPressedName(string name, string typed) { if(name.size() == 0 || typed.size() == 0) { return name.size() == typed.size(); } int n = 0; int t = 0; while(n < name.size() && t < typed.size()) { if(name[n] != typed[t]) { return false; } int len1 = 1; char c_n = name[n++]; while(n < name.size()) { if(name[n] == c_n) { ++n; ++len1; } else { break; } } int len2 = 1; char c_t = typed[t++]; while(t < typed.size()) { if(typed[t] == c_t) { ++t; ++len2; } else { break; } } // 比较两个相同的字符,哪个长 if(len1 > len2) { return false; } } if(n < name.size() || t < typed.size()) { return false; } return true; } };