[英]Palindrome Linkedlist using recursion
索引從 0 開始。輸入格式:鏈表元素(以空格分隔並以 -1 終止)
一個隱藏的測試用例存在一些運行時錯誤。 main()
正在接受輸入並傳遞head
。
public class Solution {
static String s1="",s2="";
public static boolean isPalindrome_2(LinkedListNode<Integer> head) {
if (head != null) {
s1 = s1 + head.data;
isPalindrome_2(head.next);
s2 = s2 + head.data;
}
if (s1.equals(s2))
return true;
return false;
}
}
算法應該如何工作: s1
將存儲包含所有數據的字符串。 s2
將以相反的方式存儲數據,因為它在遞歸 function 之后。 然后可以比較字符串。
由於您沒有提供可重現的示例,因此我無法運行您的代碼並驗證任何假設。 所以這僅來自檢查。
s1
和s2
應該都變成111
,這是相等的,所以你的方法應該返回true
。順便說一句,我沒有看到任何索引,也沒有看到元素之間的任何空格。
我也不明白運行時錯誤是如何發生的,抱歉。 同樣,運行您的代碼可能給了我更大的機會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.