给定一个链表,两两交换其中相邻的节点,并返回交换后的链表,必须交换实际的节点。需要考虑节点数目为奇数的情况
链表数据结构如下:
//Definition for singly - linked list.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {
}
};
一、两个指针遍历交换。时间复杂度O(N),空间复杂度O(1)
class Solution {
public:
ListNode* swapPairs(ListNode* head)