This is what your algorithm will look like
boolean flag=true;
public boolean checkPalindrome(List nodeList,boolean flag)
{
if(flag==false)
return false;
if(nodeList.right==null)
return flag;
else{
Node n;//reference for travelling till last node
//traverse till last node
//check first and last node
if(same){
//delete both nodes;
}
else{
flag=false;
}
return checkPalindrome(nodeList,flag)
}
}
this is just a pointer you need to take it forward.
If at all you need the original list back again, then you might want to copy list contents in other object and use that object in this method
Hope this helps!
Good Luck!