我需要在java中創建一個檢查兩個Char列表的遞歸方法。 如果第二個列表包含第一個列表中的所有字符至少一次,並且順序相同,它應該返回true,否則它應該返回false。例如: 例如:Java中的鏈接列表 - 比較兩個列表
列表1:「abbcd」(節點中的每個字符),列表2:「abbcccddd」(節點中的每個字符)這應該返回true。例子2:「abbcd」,列表2:「abcd」這應該返回false。
我有一些想法,但不能達成明確的解決方案。 想法任何人?
我需要在java中創建一個檢查兩個Char列表的遞歸方法。 如果第二個列表包含第一個列表中的所有字符至少一次,並且順序相同,它應該返回true,否則它應該返回false。例如: 例如:Java中的鏈接列表 - 比較兩個列表
列表1:「abbcd」(節點中的每個字符),列表2:「abbcccddd」(節點中的每個字符)這應該返回true。例子2:「abbcd」,列表2:「abcd」這應該返回false。
我有一些想法,但不能達成明確的解決方案。 想法任何人?
我假設您使用通常的節點結構,並帶有數據元素和對下一個節點的引用。那麼可以定義函數如下:
包含(NULL,草堆)=真(因爲每個字符串包含空字符串)
含有(圖案,NULL)= FALSE(因爲空字符串中不包含任何模式)
包含(模式,草堆)=包含(pattern.next,haystack.next)如果pattern.data = haystack.data (我們找到了一個匹配,並繼續到下一個項目在這兩個列表中)
包含(模式,草堆)=包含(pattern.next,haystack.next)否則(我們沒有發現任何比賽,並與在草堆下一個字符嘗試)
的爲了要求也簡化了問題。
考慮這兩個名單迭代,同時具有略微不同的推進規則:
快樂編碼。
你有什麼想法? – Grammin
如果這是作業,請標記爲這樣。 – home
順便說一句:爲什麼例2應該返回'false'? – home