Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4
, you should return the list as 2->1->4->3
.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
解题思路:
感觉和前几题很类似,直接实现即可,JAVA代码如下:
public ListNode swapPairs(ListNode head) { ListNode result = new ListNode(0), index = result; if (head == null) return result.next; while (head.next != null) { index.next = new ListNode(head.next.val); index = index.next; index.next = new ListNode(head.val); index = index.next; head = head.next.next; if (head == null) return result.next; } index.next = new ListNode(head.val); return result.next; }