public ListNode swapPairs(ListNode head) {
		ListNode dummy = new ListNode(0);
		ListNode p = dummy;
		dummy.next = head;

		while(p!= null && p.next != null && p.next.next != null){
			ListNode tmp1 = p.next;
			ListNode tmp2 = p.next.next.next;
			p.next = tmp1.next;
			tmp1.next = tmp2;
			p.next.next = tmp1;
			p = p.next.next;
		}
		return dummy.next;
	}