zoukankan      html  css  js  c++  java
  • [编程题]字符串模式匹配

    链接:https://www.nowcoder.com/questionTerminal/2e2510b2e41e4d3b922416e51afc077b
    来源:牛客网

    给出两个字符串,分别是模式串P和目标串T,判断模式串和目标串是否匹配,匹配输出 1,不匹配输出 0。模式串中‘?’可以匹配目标串中的任何字符,模式串中的 ’*’可以匹配目标串中的任何长度的串,模式串的其它字符必须和目标串的字符匹配。例如P=a?b,T=acb,则P 和 T 匹配。

    输入描述:

    输入第一行包含一个字符串p, (1 ≤ |p| ≤ 20).

    输入第二行包含一个字符串t, (1 ≤ |t| ≤ 20).


    输出描述:

    输出仅包含0和1的整数,0表示p和t不匹配,1表示p和t匹配。

    示例1

    输入

    a?b
    ab

    输出

    0
    示例2

    输入

    a*b
    ab

    输出

    1
    示例3

    输入

    a*b
    a(cb

    输出

    1
    备注:
    保证T中不包含 ‘*’ 字符和 ‘?’ 字符

    用C++搞了半天,结果发现用Java就需要几行就可以搞定。只怪自己太菜了。

    Code:[Java]

    链接:https://www.nowcoder.com/questionTerminal/2e2510b2e41e4d3b922416e51afc077b
    来源:牛客网
    
    import java.util.regex.Pattern;
    import java.util.*;
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String p = scanner.nextLine();
            String t = scanner.nextLine();
             
            if (Pattern.matches(p.replace("*",".*").replace("?","."),t)){
                System.out.println(1);
            }else {
                System.out.println(0);
            }
        }
    }
    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    async await promise写法
    nginx自动启动脚本
    nginx源码编译安装
    PHP源码编译安装
    MySQL修改root密码的多种方法
    PKG_CONFIG_PATH变量 与 ld.so.conf 文件
    confluence5.65+CentOS+mysql安装破解
    nigos core 安装配置
    cacti+CentOS6.5
    Linux+mysql+apache+php
  • 原文地址:https://www.cnblogs.com/h-hkai/p/12664166.html
Copyright © 2011-2022 走看看