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.
解法1: O(N), 基本的LinkedList操作
调整后头节点不确定,用dummy node解决。然后就是很普通的node之间的对换。 1 -> 2 -> 3 -> 4, 在换两个node之前,要记录剩下的list的头节点。 换好之后(假设两个node分别为first和second,那么就把first指向剩下的list的头节点)
C++
Java