目录题目链接注意点解法小结题目链接SwapNodesinPairs-LeetCode注意点考虑链表为空解法解法一:维护三个指针,前中后,调换这三个位置的next指针即可。时间复杂度 目录 题目链接 注意点
目录
- 题目链接
- 注意点
- 解法
- 小结
题目链接
Swap Nodes in Pairs - LeetCode
注意点- 考虑链表为空
解法
解法一:维护三个指针,前中后,调换这三个位置的next指针即可。时间复杂度O(n)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* swapPairs(ListNode* head) { if(head == NULL) return NULL; auto p = new ListNode(0); p->next = head; ListNode* pre = p; ListNode* cur = head; ListNode* next = head->next; while(cur != NULL cur->next = next->next; next->next = cur; pre = cur; cur = cur->next; if(cur != NULL) next = cur->next; } return p->next; }};