I am trying to check if a palindrome using java's arraylist, and though my logic makes sense the output doesn't. If I use the Collections.reverse method to reverse the arraylist it gives me true for a number that's not a palindrome.
int temp = 123;
ArrayList<Integer> num = new ArrayList<Integer>();
while(temp!=0){
num.add(temp%10);
temp=temp/10;
}
ArrayList<Integer> ognum = num;
Collections.reverse( ognum);
if(num.equals(ognum)){
return true;
}else{
return false;
}
Output: true
However if I do this:
int temp = 123;
ArrayList<Integer> num = new ArrayList<Integer>();
while(temp!=0){
num.add(temp%10);
temp=temp/10;
}
ArrayList<Integer> ognum = new ArrayList<Integer>();
ognum.add(1);
ognum.add(2);
ognum.add(3);
if(num.equals(ognum)){
return true;
}else{
return false;
}
Output: false