判断近似字符串(相差一个字符)
要求:写一个函数用于判断两个字符串中任意一个字符串,是否可以通过增删改操作变成另一个字符串,结果返回Boolean
示例:
aaas与aaa 返回 True
asaa与aa 返回 False
args与argt 返回 True
arg与args 返回 True
【判断近似字符串(相差一个字符)】以下为自己用简单语法写的判断方法,用博客记录以下:
def isStringAlike(str1,str2):
"""
函数功能:判断两个字符串中任意一个字符串,
是否可以通过增删改操作变成另一个字符串,
结果返回Boolean
"""
count = 0
temp = ''
#始终保持str1为两字符串中的长串
#temp用于占位,可以设置为任意字符
if len(str1) < len(str2):
str1, str2 = str2, str1
temp = '-'
if len(str1) > len(str2):
temp = '-'
#避免短字符串索引越界
str2 = str2 + '-'
#循环遍历长字符串
for i in range(len(str1)):
if str1[i] == str2[i]:
count += 1
else:
#重新拼接字符串
str2 = str2[:i]+temp+str2[i:]
#判断两字符串是否为近似串,返回值为布尔类型
if len(str1) == count + 1:
return True
else:
return Falseif __name__ == '__main__':
str1 = 'snapchat'
str2 = 'snapchat5'
res = isStringAlike(str1,str2)
print(res)
推荐阅读
- 一起来学习C语言的字符串转换函数
- 字符串拼接成段落,换行符(\n)如何只执行n-1次
- C语言解方程的根和判断是否是闰年
- C语言的版本比较
- 对今年以来股市的看法及后期判断
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- Java应该在哪里判断List是否为空
- JS截取字符串的方法详解
- JavaScript判断数组的方法总结与推荐