2016-01-16 55 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」 - >假

我希望這有助於和說得通。

相關問題