题解 | #字符串通配符#

字符串通配符

https://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    const p = await readline();//?*Bc*?
    const s = await readline();//abcd
    let i = s.length-1,j = p.length-1;
    const isMatch = (i,j) =>{
        if(j < 0 || i < 0) return (j<0 ||j==0&&p.charAt(j)==="*")&& i<0;
        const si = s.charAt(i),pj = p.charAt(j);
        if(pj === "*" && /[0-9a-zA-Z]/.test(si)) return isMatch(i-1,j)||isMatch(i-1,j-1)||isMatch(i,j-1);//*匹配多个||匹配一个||匹配0个
        return (pj === "?" &&/[0-9a-zA-Z]/.test(si) || si.toLowerCase()===pj.toLowerCase()) && isMatch(i-1,j-1); 
    }
    console.log(isMatch(i,j));
}()

全部评论

相关推荐

07-09 15:55
门头沟学院 Java
点赞 评论 收藏
分享
07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务