标签:正则表达 lse 情况 scribe solution offer false desc 匹配
class Solution { public: bool match(char* str, char* pattern) { //两个都为空 返回true if (*str == ‘\0‘ && *pattern == ‘\0‘) return true; //str不空 pattern空 这种情况必false if (*str != ‘\0‘ && *pattern == ‘\0‘) return false; //考虑pattern中下一个是不是* if (*(pattern+1) != ‘*‘) {//不是*的情况很简单 //两种情况匹配成功:1.要么字符相同 2.要么pattern此时是万能的“.” if (*str == *pattern || (*str != ‘\0‘ && *pattern == ‘.‘)) return match(str+1, pattern+1); else return false; } //如果pattern下一个是* 那分此字符是0个还是多个 else { //两种情况匹配成功:1.要么字符相同 2.要么pattern此时是万能的“.” if (*str == *pattern || (*str != ‘\0‘ && *pattern == ‘.‘)) //考虑只用一次 用多次 return match(str, pattern+2) || match(str+1, pattern); else //字符不匹配 取0 跳过 return match(str, pattern+2); } } };
标签:正则表达 lse 情况 scribe solution offer false desc 匹配
原文地址:https://www.cnblogs.com/Stephen-Jixing/p/13137612.html