嗨,这确实很容易以非递归方式进行,但是我如何比较两个字符串以查看它们在Python中是否相等?也就是说,如果我进行了编译,它将返回0,如果进行了编译和对比,它将返回1?
答案 0 :(得分:0)
首先,我们使用def compare(a,b)
在python中进行比较。
返回等于等于0的值,等于> 1返回1的值,返回-1
答案 1 :(得分:0)
好吧,让我们看看。我知道您知道如何重复执行此操作,但是明确将其写出也无妨:
def iterative_string_comparison(str1, str2):
for char1,char2 in zip(str1, str2):
if char1 != char2:
return 1
return 0
您实际上在这里做什么?您正在遍历两个字符串中的每个字符,并进行比较以确保它们具有相同的值。
您将如何递归执行此操作?我将从伪代码开始。
function recursive_string_comparison(str1, str2, index)
if str1[index] != str2[index]
return 1
else
if the index exceeds the length of either string
return 0
else
return recursive_string_comparison(str1, str2, index + 1)
这只是一个提示,如果您进行校对以确保它易于理解您的要求,那么将来回答您的问题可能会获得更大的成功。