2016-01-16 58 views
-2

我想练递归,但此刻我不太明白它好...如何使用递归检查两个字符串是否相等?

我想写一个递归布尔函数这需要2个字符串作为参数,并返回如果第二串真可以通过用某些特殊字符替换某些字母来使其等于第一个字母。

我会证明我的意思:

还有,s1 = “你好”,S2 = “H%LO”,其中 '%' 是特殊字符。

该函数将返回true因为'%'可以替换“el”,导致两个字符串相等。

又如:

令S1 = “你好”,S2 = “H%L”。

该函数将返回因为一个“O”缺少第二个字符串中,并没有什么特殊的字符,可替换的“O”(H%1%将返回)。

现在问题不在于编写代码,而是在了解如何解决一般问题时,我甚至不知道从哪里开始。

如果有人能指导我在正确的方向,我将非常感激,甚至只要使用英文单词,我会尽力把它翻译成代码(JAVA)...

谢谢。

+2

问你的老师或你的学习伙伴 – rbp

+0

如果你想练习递归,我建议你学习二叉树 –

回答

0

所以在Python中这样做相对容易。我选择的方法是将第一个字符串(“hello”)放入数组,然后遍历第二个字符串(“h%lo”),将元素与数组中的元素进行比较。如果元素在数组中,即'h','l','o',那么我会从数组中弹出它。结果数组然后是['e','l']。可以找到特殊字符,因为它是初始数组中不存在的元素。

然后可以用特殊字符替换字符串中的连接数组“el”并与第一个字符串进行比较。

在第一种情况下,这将给“你好” ==“你好” - >真 在第二种情况下,这将给予“你好” ==“helol” - >假

我希望这有助于和说得通。

相关问题