算法笔记–求两个字符串匹配
有如下字符串 ,判定 str1 中是否包含 str2,如果出现则返回第一次出现的位置,如果没有则返回 -1
String str1 = "早安,打工人,打工魂!"; String str2 = "打工";
解题:使用暴力匹配
- 先拿str2第一个字去str1挨个匹配
- 匹配成功,则拿第 2 个字去匹配
- 如果不匹配,则从头开始
暴力匹配法优缺点:
-
优点:简单,容易理解
-
缺点:效率低下
可以看到上图的描述,只要有一个不匹配,就从头开始再来,「回溯」次数太多。
案例实践
public class StringMatch {
public static int findMatch(char[