/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode() {} *     ListNode(int val) { this.val = val; } *     ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution {    public ListNode swapPairs(ListNode head) {        if(head == null || head.next == null) return head;        ListNode temp = head.next;        head.next = temp.next;        temp.next = head;        head = temp;        ListNode pre = head.next;        if (pre.next == null)            return head;        ListNode cur = pre.next;        while(cur != null && cur.next != null) {            temp = cur.next;            pre.next = temp;            cur.next = temp.next;            temp.next = cur;            pre = cur;            cur = pre.next;        }                return head;    }}