Wildcard Matching
来源:互联网 发布:苹果免费数据恢复软件 编辑:程序博客网 时间:2024/06/08 04:03
'?' Matches any single character.'*' Matches any sequence of characters (including the empty sequence).The matching should cover the entire input string (not partial).The function prototype should be:bool isMatch(const char *s, const char *p)Some examples:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "*") → trueisMatch("aa", "a*") → trueisMatch("ab", "?*") → trueisMatch("aab", "c*a*b") → false
Recursion not passing OJ:
public boolean isMatch(String s, String p) { if (p.length() == 0) { return s.length() == 0; } if (s.length() == 0) { if (p.charAt(0) == '*') { return isMatch(s, p.substring(1)); } else { return false; } } if (p.charAt(0) == '*') { for (int i = 0; i <= s.length(); i++) { if (isMatch(s.substring(i), p.substring(1))) { return true; } } } else { if ((s.charAt(0) == p.charAt(0) || p.charAt(0) == '?')) { if (isMatch(s.substring(1), p.substring(1))) { return true; } } } return false; }
Passing OJ:
http://blog.csdn.net/perfect8886/article/details/22689147
public boolean isMatch(String s, String p) { int i = 0; int j = 0; int star = -1; int mark = -1; while (i < s.length()) { if (j < p.length() && (p.charAt(j) == '?' || p.charAt(j) == s.charAt(i))) { ++i; ++j; } else if (j < p.length() && p.charAt(j) == '*') { star = j++; mark = i; } else if (star != -1) { j = star + 1; i = ++mark; } else { return false; } } while (j < p.length() && p.charAt(j) == '*') { ++j; } return j == p.length(); }
0 0
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- Wildcard Matching
- 用vlc搭建简单流媒体服务器(UDP和TCP方式)
- linux环境下mysql 大小写敏感解决办法
- The Clean Architecture
- 电子标签芯片的组成及功能
- Firefox火狐Flash插件卡死问题完美解决方法
- Wildcard Matching
- django 启动时提示环境变量有问题 未设置 找不到
- Android 开发中的若干安全问题
- 类大小的计算
- 堆(heap)和栈(stack)、内存泄漏(memory leak)和内存溢出
- 利用jasperReport制作web报表
- UI中tabbar
- App开发日报 2015-03-29
- 数据结构与算法——排序算法篇