class Node{
Node next = null;
int data;
public Node(int data){
this.data = data;
}
}
Node rev(Node head)
{
Node temp = head;
Node next = null, prev = null;
while(temp != null)
{
next = temp.next;
temp.next = prev;
prev = temp;
temp = next;
}
head = prev;
return prev;
}
Node findMiddle(Node head,int length)
{
Node temp2 = head;
int x = 0;
while(temp2 != null && (x < length/2))
{
temp2 = temp2.next;
x++;
}
return temp2;
}
int length(Node head)
{
Node temp = head;
int count = 0;
while(temp != null)
{
temp = temp.next;
count++;
}
return count;
}
void print(Node head)
{
Node temp = head;
while(temp != null)
{
System.
out.
print(temp.
data +" ");
temp = temp.next;
}
}
boolean isPalindrome(Node head)
{
Node middle = findMiddle(head,length(head));
Node secondhead = middle.next;
middle.next = null;
Node rSecondhead = rev(secondhead);
while(head != null && rSecondhead != null)
{
if(head.data == rSecondhead.data)
{
head = head.next;
rSecondhead = rSecondhead.next;
continue;
}
else return false;
}
return true;
}
public static void main
(String[] args
)
{
//some test cases
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}