剑指offe第19题,很经典。
如果不用递归的思维做,会很麻烦。
因为对于.*、*.、*..等一些特殊情况处理会非常麻烦。
所以采用递归的思路。(如果加上的动态规划思想,记录dp[m][n]表示str + m与pattern + n是否能正确匹配。就可以把复杂度控制在O(n*n)。
class Solution { public: bool match(char* str, char* pattern) { if (str == nullptr || pattern == nullptr) { return false; } if (*str == '