Count Number of Texts LeetCode solution in C++
1class Solution {2public:3int mod = 1e9 + 7;4int solve(string &str, int idx) {5if (idx == str.length()) return 1;6int maxKeyPress = (str[idx] == '7' || str[idx] == '9') ? 4 : 3;7long long currIndex = idx, pressFrequency = 1, ans = 0;8while (pressFrequency <= maxKeyPress && str[currIndex] == str[idx]) {9++currIndex;10++pressFrequency;11ans += solve(str, currIndex) % mod;12}13return ans % mod;14}15int countTexts(string pressedKeys) {16return solve(pressedKeys, 0) % mod;17}18};