您好,登錄后才能下訂單哦!
在Java中,要檢測嵌套結構的回文數據,可以使用遞歸方法
import java.util.List;
public class NestedPalindromeChecker {
public static void main(String[] args) {
// 示例嵌套列表
List<Object> nestedList = List.of(1, 2, List.of(3, 4, List.of(5, 4, 3)), 2, 1);
// 檢查嵌套列表是否為回文
boolean isPalindrome = isNestedListPalindrome(nestedList);
System.out.println("Is the nested list a palindrome? " + isPalindrome);
}
public static boolean isNestedListPalindrome(Object obj) {
if (obj instanceof Integer) {
return obj == obj % 2 == 0 ? true : false;
} else if (obj instanceof List) {
List<?> nestedList = (List<?>) obj;
int left = 0;
int right = nestedList.size() - 1;
while (left < right) {
if (!isNestedListPalindrome(nestedList.get(left))) {
return false;
}
if (!isNestedListPalindrome(nestedList.get(right))) {
return false;
}
left++;
right--;
}
return true;
} else {
throw new IllegalArgumentException("Invalid input: " + obj);
}
}
}
在這個示例中,我們首先檢查輸入對象的類型。如果它是一個整數,我們只需檢查它是否為偶數。如果它是一個列表,我們將遞歸地檢查其元素是否為回文。如果輸入對象既不是整數也不是列表,我們拋出一個異常。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。