Given a linked list, swap every two adjacent nodes and return its head.Example:Given 1->2->3->4, you should return the list as 2->1->4->3.Note:Your algorithm should use only constant extra space.You may not modify the values in the list's nodes, only nodes itself may be changed.
class Solution { public ListNode swapPairs(ListNode head) { if(head == null) return null; ListNode dummy = new ListNode(-1); dummy.next = head; ListNode pre = dummy; while(pre.next != null && pre.next.next != null){ ListNode tmp = pre.next.next; pre.next.next = tmp.next; tmp.next = pre.next; pre.next = tmp; pre = pre.next.next; } return dummy.next; }}
posted on 2019-01-11 16:21 阅读( ...) 评论( ...)