描述
给定由字母组成的字符串s1和s2,如何判断较长的字符串是否包含较短的字符串(即出现在较短字符串中的字符在较长字符串中都存在)。例如,s1=‘abcdef’,s2=‘acf’,s3=‘acg’,则s1包含s2,s1不包含s3.
算法
对于较短的字符串中的每个字符,遍历较长字符串,查看是否包含该字符。
python实现
def is_contain(str_1, str_2):
len_1 = len(str_1)
len_2 = len(str_2)
if len_1 < len_2:
i = 0
while i < len_1:
j = 0
while j < len_2:
if list(str_1)[i] == list(str_2)[j]:
break
j += 1
if j == len_2:
return False
i += 1
else:
i = 0
while i < len_2:
j = 0
while j < len_1:
if list(str_1)[j] == list(str_2)[i]:
break
j += 1
if j == len_1:
return False
i += 1
return True
def main():
str_1 = 'abcdef'
str_2 = 'acf'
str_3 = 'acg'
print(is_contain(str_1, str_2))
print(is_contain(str_1, str_3))
if __name__ == '__main__':
main()
输出:
True
False