public ListNode swapPairs(ListNode head) {
        if(head == null || head.next ==null)
            return head;
        ListNode newHead = new ListNode(-1);
        ListNode step = newHead;
        ListNode oneStep = head;
        ListNode twoStep = head.next;
        while(oneStep != null && twoStep != null){
            step.next = twoStep;
            oneStep.next = twoStep.next;
            twoStep.next = oneStep;
            step = oneStep;
            oneStep = oneStep.next;
            twoStep = (oneStep == null)? null :oneStep.next;
        }
        return  newHead.next;
    }