题目描述
请编写一个程序,根据给定的字符规律,识别字符串数组中与规律匹配的字符串。字符规律中的’.‘可以匹配任意单个字符,’*'可以匹配零个或多个前面的那个元素。匹配意味着要涵盖整个字符串,而不仅仅是部分字符串。
输入描述:
第一行包含多个字符串,以空格分隔。每个字符串由小写字母组成。假设每个字符串的长度满足:1 < 单个字符串长度 < 100,且字符串个数满足:0 < 字符串个数 < 100。
第二行为字符规律,由小写字母、'.‘和’*'组成。假设字符规律的长度满足:1 < 字符规律长度 <= 50。
不需要考虑异常情况。
输出描述:
输出匹配的字符串在数组中的下标,从0开始计数。多个匹配时,按升序排列并用逗号分隔。如果没有匹配的字符串,输出-1。
示例:
输入:
ab aab
.*
输出:
0,1
参考代码
#include <iostream>
本文介绍了2023年华为在线开发者(OD)机试的B卷C++题目,重点在于字符匹配算法。题目要求编写程序,依据给定的字符模式,判断字符串数组中哪些字符串与模式完全匹配。模式中的'.'可匹配任意单个字符,'*'匹配零个或多个前一个字符。输入包含多个字符串和字符模式,输出匹配的字符串在数组中的下标。参考代码可供参考。
订阅专栏 解锁全文
462

被折叠的 条评论
为什么被折叠?



