温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中如何检测嵌套结构的回文数据

发布时间:2024-11-11 17:05:41 来源:亿速云 阅读:78 作者:小樊 栏目:编程语言

在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);
        }
    }
}

在这个示例中,我们首先检查输入对象的类型。如果它是一个整数,我们只需检查它是否为偶数。如果它是一个列表,我们将递归地检查其元素是否为回文。如果输入对象既不是整数也不是列表,我们抛出一个异常。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI