中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中如何檢測包含復雜嵌套結構的回文數據

發布時間:2024-11-11 18:41:44 來源:億速云 閱讀:79 作者:小樊 欄目:編程語言

在Java中,要檢測包含復雜嵌套結構的回文數據,可以使用遞歸方法

import java.util.List;

public class PalindromeChecker {

    public static void main(String[] args) {
        // 測試用例
        List<Object> complexList = List.of(1, "a", List.of(2, "b", List.of(3, "c", "d")), 4);
        System.out.println("Is the complex list a palindrome? " + isPalindrome(complexList));
    }

    public static boolean isPalindrome(Object obj) {
        if (obj == null) {
            return true;
        }

        if (obj instanceof List) {
            List<?> list = (List<?>) obj;
            int left = 0;
            int right = list.size() - 1;

            while (left < right) {
                Object leftElement = list.get(left);
                Object rightElement = list.get(right);

                if (!isPalindrome(leftElement)) {
                    return false;
                }
                if (!isPalindrome(rightElement)) {
                    return false;
                }

                left++;
                right--;
            }

            return true;
        } else {
            return obj.equals(reverseObject(obj));
        }
    }

    private static Object reverseObject(Object obj) {
        if (obj instanceof String) {
            return ((String) obj).reverse();
        } else if (obj instanceof List) {
            List<?> list = (List<?>) obj;
            List<Object> reversedList = new ArrayList<>();

            for (int i = list.size() - 1; i >= 0; i--) {
                reversedList.add(reverseObject(list.get(i)));
            }

            return reversedList;
        } else {
            return obj;
        }
    }
}

在這個示例中,我們定義了一個名為isPalindrome的方法,它接受一個Object類型的參數。這個方法首先檢查傳入的對象是否為null,如果是,則返回true。接下來,我們檢查對象是否是一個列表,如果是,我們使用雙指針方法從列表的兩端開始遞歸地檢查每個元素是否為回文。如果所有元素都是回文,那么這個列表就是回文的。

如果對象不是列表,我們將其反轉并與原始對象進行比較。如果它們相等,那么這個對象就是回文的。為了反轉對象,我們定義了一個名為reverseObject的輔助方法,它根據對象的類型(字符串或列表)進行相應的反轉操作。

main方法中,我們創建了一個包含復雜嵌套結構的列表complexList,并調用isPalindrome方法檢查它是否為回文。輸出結果為Is the complex list a palindrome? true,表示這個復雜嵌套結構的列表是一個回文。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天祝| 大连市| 洮南市| 长泰县| 茶陵县| 布拖县| 琼结县| 个旧市| 稻城县| 洛阳市| 文安县| 江安县| 新干县| 蓬溪县| 江西省| 扎兰屯市| 留坝县| 西乌珠穆沁旗| 宁乡县| 子长县| 翼城县| 绥江县| 若羌县| 富锦市| 莱阳市| 玉溪市| 贵阳市| 眉山市| 宁津县| 五华县| 汶上县| 黑龙江省| 左权县| 开鲁县| 肇源县| 融水| 富民县| 吉水县| 彩票| 弥勒县| 德化县|