// Swap Nodes in pairs
class Node
{
int v;
Node next;
public Node(int x)
{
v=x;
next=null;
}
}
{
private static Node head=null;
private static int len=0;
private Node swapNodeUtil(Node node)
{
if(node==null || node.next==null)return node;
Node next=swapNodeUtil(node.next.next);
Node temp=node.next;
node.next=next;
temp.next=node;
return temp;
}
public void swapNode()
{
head=this.swapNodeUtil(head);
}
public void add(int x)
{
len++;
Node n=new Node(x);
if(head==null)
head=n;
else
{
Node i=head;
for(;i.next!=null;i=i.next);
i.next=n;
}
}
public int get(int x)
{
int i=0;
Node j=head;
while(i!=x){
j=j.next;
i++;
}
return j.v;
}
public int length()
{
return len;
}
}
public class Main
{
public static void main
(String[] args
) { for(int i=0;i<7;i++)l.add(i+1);
l.swapNode();
for(int i
=0;i
<7;i
++)System.
out.
println(l.
get(i
)); }
}
Ly8gU3dhcCBOb2RlcyBpbiBwYWlycwpjbGFzcyBOb2RlCnsKICBpbnQgdjsKICBOb2RlIG5leHQ7CiAgcHVibGljIE5vZGUoaW50IHgpCiAgewogICAgdj14OwogICAgbmV4dD1udWxsOwogIH0KfQpjbGFzcyBMaW5rZWRMaXN0CnsKICBwcml2YXRlIHN0YXRpYyBOb2RlIGhlYWQ9bnVsbDsKICBwcml2YXRlIHN0YXRpYyBpbnQgbGVuPTA7CiAgcHJpdmF0ZSBOb2RlIHN3YXBOb2RlVXRpbChOb2RlIG5vZGUpCiAgewogICAgaWYobm9kZT09bnVsbCB8fCBub2RlLm5leHQ9PW51bGwpcmV0dXJuIG5vZGU7CiAgICBOb2RlIG5leHQ9c3dhcE5vZGVVdGlsKG5vZGUubmV4dC5uZXh0KTsKICAgIE5vZGUgdGVtcD1ub2RlLm5leHQ7CiAgICBub2RlLm5leHQ9bmV4dDsKICAgIHRlbXAubmV4dD1ub2RlOwogICAgcmV0dXJuIHRlbXA7CiAgfQogIHB1YmxpYyB2b2lkIHN3YXBOb2RlKCkKICB7CiAgICBoZWFkPXRoaXMuc3dhcE5vZGVVdGlsKGhlYWQpOwogIH0KICBwdWJsaWMgdm9pZCBhZGQoaW50IHgpCiAgewogICAgbGVuKys7CiAgICBOb2RlIG49bmV3IE5vZGUoeCk7CiAgICBpZihoZWFkPT1udWxsKQogICAgICBoZWFkPW47CiAgICBlbHNlCiAgICB7CiAgICAgIE5vZGUgaT1oZWFkOwogICAgICBmb3IoO2kubmV4dCE9bnVsbDtpPWkubmV4dCk7CiAgICAgIGkubmV4dD1uOwogICAgfQogIH0KICBwdWJsaWMgaW50IGdldChpbnQgeCkKICB7CiAgICBpbnQgaT0wOwogICAgTm9kZSBqPWhlYWQ7CiAgICB3aGlsZShpIT14KXsKICAgICAgaj1qLm5leHQ7CiAgICAgIGkrKzsKICAgIH0KICAgIHJldHVybiBqLnY7CiAgfQogIHB1YmxpYyBpbnQgbGVuZ3RoKCkKICB7CiAgICByZXR1cm4gbGVuOwogIH0KfQpwdWJsaWMgY2xhc3MgTWFpbgp7CiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgTGlua2VkTGlzdCBsPW5ldyBMaW5rZWRMaXN0KCk7CiAgICBmb3IoaW50IGk9MDtpPDc7aSsrKWwuYWRkKGkrMSk7CiAgICBsLnN3YXBOb2RlKCk7CiAgICBmb3IoaW50IGk9MDtpPDc7aSsrKVN5c3RlbS5vdXQucHJpbnRsbihsLmdldChpKSk7CiAgfQp9Cg==