Palindrome Number

来源:互联网 发布:过山车是谁发明的 知乎 编辑:程序博客网 时间:2024/06/05 07:15

Determine whether an integer is a palindrome. Do this without extra space.

public boolean isPalindrome(int x) {        try {            String[] num = (x + "").split("");            List list = new ArrayList(Arrays.asList(num));            if(x >= 0){                if (list.size() % 2 != 0) {//opp                    Collections.reverse(list.subList(list.size() / 2 + 1, list.size()));                    return list.subList(0, list.size() / 2).equals(list.subList(list.size() / 2 + 1, list.size()));                } else {                    Collections.reverse(list.subList(list.size() / 2, list.size()));                    return list.subList(0, list.size() / 2).equals(list.subList(list.size() / 2, list.size()));                }            }else{                if (list.size()-1 % 2 != 0) {//opp                    Collections.reverse(list.subList(list.size()-1 / 2 + 1, list.size()));                    return list.subList(1, list.size()-1 / 2).equals(list.subList(list.size()-1 / 2 + 1, list.size()));                } else {                    Collections.reverse(list.subList(list.size() / 2, list.size()));                    return list.subList(1, list.size()-1 / 2).equals(list.subList(list.size()-1 / 2, list.size()));                }            }        } catch (Exception e) {            return false;        }    /*    优质解答      if(x<0 ||(x !=0 && x%10 ==0)){            return false;        }        int reversed = 0;        while(x> reversed){            reversed = reversed * 10 + x%10;            x /= 10;        }        return reversed == x || reversed/10 == x;*/    }
原创粉丝点击