亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

江阴市| 铜梁县| 汕头市| 化隆| 雷波县| 资中县| 大关县| 吉首市| 南岸区| 土默特右旗| 中阳县| 密云县| 大理市| 宁城县| 南雄市| 沙湾县| 沾化县| 成都市| 镇原县| 双江| 林甸县| 鄱阳县| 中方县| 黄冈市| 沙坪坝区| 庆阳市| 松滋市| 威海市| 新泰市| 河西区| 甘泉县| 三门峡市| 肇东市| 报价| 梁平县| 鹤峰县| 财经| 潜江市| 汪清县| 洛川县| 高密市|