题目描述
给定一个字符串数组words和字符串s,其中word[i]和s只包含小写字母
请返回words中是字符串s前缀的字符串数目
一个字符串的前缀是出现在字符串开头的子字符串,子字符串是一个字符串中连续的字符序列
例如:
words = [“a”,“b”,“c”,“ab”,“bc”,“abc”]
s = “abc”
则符合要求的字符串为"a",“ab”,“abc”
因此返回3
解决办法
- 遍历字符串列表,取出每个字符串
- 判定当前字符串是否为s的前缀
Python中的标准库是为了提高程序员开发效率,减少学习成本,而设计的一系列方便代码编写的方法。与之对应的还有第三方库,也就是python并不自带,需要自己安装后使用的
下面通过标准库中的方法,可以实现判定一个字符串是不是另一个字符串的前缀
判定字符串.startwith(前缀字符串)
如果前缀字符串是判定字符串的前缀,那么就返回True
详细代码
def countPrefixes(words: list, s: str):
count = 0
for word in words:
if s.startswith(word):
count += 1
return count
print(countPrefixes(["a", "b", "c", "ab", "bc", "abc"], "abc"))