LeetCode之Wildcard Matching

原创 2015年07月06日 21:39:52
/*这里的难度主要是理解题意,题中要点如下:
1.字符‘?’能匹配任何单个字符;
2.字符‘*’能匹配任意长度的任意字符串。(这说明p中‘*’可以用来匹配s中0个、1个、2个...n个字符)
根据以上题意,遍历p中*所有的匹配情况,即可获得解答方法。*/
class Solution {
public:
    bool isMatch(string s, string p) {
        int i(0), j(0);
        int s_match_star(-1), p_star(-1);
        while(i < s.size()){
            if(p[j] == '*'){
                while(p[j] == '*') ++j;
                p_star = j - 1;//记录‘*’号所在位置
                s_match_star = i;//s中,对应于p中‘*’所出现的值
            }
            else if(p[j] == '?' || s[i] == p[j]){
                ++i;
                ++j;
            }
            else{
                if(p_star == -1) return false;//不存在‘*’号,则不匹配
                j = p_star + 1;
                i = s_match_star + 1;
                s_match_star = i;
            }
        }
        while(j < p.size() && p[j] == '*') ++j;
        if(j < p.size()) return false;
        return true;
    }
};

【LeetCode】Wildcard Matching 串匹配 动态规划

题目:Wildcard Matching /*LeetCode WildCard matching * 题目:给定一个目标串和一个匹配串,判定是否能够匹配 * 匹配串中的定义:字符————>字符...
  • u011955072
  • u011955072
  • 2015年03月28日 23:24
  • 1553

LeetCode Wildcard Matching 优化动态规划法和迭代算法

实现通配符的功能。特殊的串匹配。这道题的迭代法会更加简单,运行速度更加快。还是相当有难度的题目。 参考了Leetcode上的程序,然后自己优化了一下。 下面是动态规划法的优化程序: 优化地方:...
  • kenden23
  • kenden23
  • 2013年12月07日 08:26
  • 3757

[leetcode] Wildcard matching——编程菜鸟们绝对值得一看

Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...
  • logarrow
  • logarrow
  • 2013年08月09日 19:39
  • 767

Wildcard Matching:通配符匹配

Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character....
  • u013300579
  • u013300579
  • 2017年12月13日 08:28
  • 46

通配符匹配字符串 Wildcard Matching

问题:实现支持?和*两个通配符的字符串匹配函数。 Implement wildcard pattern matching with support for '?' and '*'. '?' Matc...
  • luckyjoy521
  • luckyjoy521
  • 2014年03月31日 22:09
  • 1700

算法学习之动态规划(leetcode 44 Wildcard Matching)

Wildcard Matching
  • maxiaotiaoti
  • maxiaotiaoti
  • 2016年10月29日 16:14
  • 171

[LeetCode]44. Wildcard Matching 深入浅出讲解和代码示例

本题是模式匹配问题,解题思路涵盖了递归、以及匹配算法的知识点
  • karen0310
  • karen0310
  • 2017年07月19日 14:24
  • 79

算法分析与设计课程(4):【leetcode】Wildcard Matching

Description: Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any...
  • lr787558718
  • lr787558718
  • 2017年03月17日 15:44
  • 70

每日算法之三十五:Wildcard Matching

模式匹配的实现,'?'代表单一字符,'*'代表任意多的字符,写代码实现两个字符串是否匹配。 Implement wildcard pattern matching with support for ...
  • yapian8
  • yapian8
  • 2014年06月18日 09:42
  • 1065

Java源码解析(附录)(5) —— WildcardType

WildcardType 泛型表达式通配符表达式,泛型表达式,也可以说是,限定性的泛型,形如:? extends classA、?super classB。源码public interface Wil...
  • a327369238
  • a327369238
  • 2016年09月30日 15:18
  • 1256
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode之Wildcard Matching
举报原因:
原因补充:

(最多只允许输入30个字)