This is Wildcard Matching from LeetCode. Given a string and a pattern with wildcards, determine if they match. '?' matches any single character. '*' matches any sequence (including empty).
For s = "adceb" and p = "ab", the answer is true. The first '' matches "", 'a' matches 'a', second '' matches "dce", 'b' matches 'b'. Read the problem statement carefully, noting the constraints. Try to identify the recursive structure before looking at the solution.