91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

抚顺县| 拉萨市| 汉沽区| 珠海市| 南宁市| 台江县| 龙岩市| 日喀则市| 仪陇县| 上思县| 扎鲁特旗| 高雄市| 象州县| 都昌县| 尼勒克县| 嘉禾县| 外汇| 邹平县| 云安县| 乐东| 平定县| 鄂州市| 永德县| 健康| 乌拉特后旗| 彰化市| 托克托县| 怀仁县| 景泰县| 溧阳市| 清徐县| 丹东市| 洛川县| 龙山县| 肇州县| 安泽县| 凉山| 明溪县| 永寿县| 金阳县| 漠河县|