当前位置 : 主页 > 网络编程 > 其它编程 >

SwapNodesinPairsLeetCode

来源:互联网 收集:自由互联 发布时间:2023-07-02
目录题目链接注意点解法小结题目链接SwapNodesinPairs-LeetCode注意点考虑链表为空解法解法一:维护三个指针,前中后,调换这三个位置的next指针即可。时间复杂度 目录 题目链接 注意点
目录题目链接注意点解法小结题目链接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; }};

小结
  • 链表是很常见的一种数据结构,要花点时间专门研究一下。

网友评论