1023. 驼峰式匹配

1023. 驼峰式匹配

题目:

1023

思路

  • 题目可以解释为:遍历queries中的每个query,根据每个字符是否是大小写、是否与pattern对比相同进行筛选
  • 以第一个为例子:
    • 遍历FooBar[i],如果与pattern[j++]相等,继续
    • 如果不相等且不是小写字母,那么为false,直接break
    • 如果FooBar遍历完后,patter中还有未比对字符,也是false,直接break
    • 顺利执行完遍历,并且pattern中字符没有对比剩余,那么便返回true

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public static List<Boolean> camelMatch(String[] queries, String pattern) {
int flag = 0;
List<Boolean> res = new ArrayList<Boolean>();
for(String query : queries){
int j = 0;
for(int i = 0; i < query.length(); i++){
if(j < pattern.length()){
if(query.charAt(i) == pattern.charAt(j)){
j++;
}else{
if(!(query.charAt(i) >= 'a' && query.charAt(i) <= 'z')){
flag = 1;
res.add(false);
break;
}

}
}else{
if(query.charAt(i) >= 'A' && query.charAt(i) <= 'Z'){
res.add(false);
flag = 1;
break;
}
}
}
if(flag == 0){
if(j >= pattern.length()){
res.add(true);
}else{
res.add(false);
}
}
flag = 0;
}
return res;
}

作者

Yzdong

发布于

2023-04-14

更新于

2023-04-14

许可协议

评论