LeetCode 143. 重排链表

it2023-02-12  46

原题目:https://leetcode-cn.com/problems/reorder-list/

 

思路:

使用vector存储节点,然后使用双指针进行重新连接,最后注意最后的节点的next置为空

 

代码:

class Solution { public: void reorderList(ListNode *head) { if (head == nullptr) { return; } vector<ListNode *> vec; ListNode *node = head; while (node) { vec.emplace_back(node); node = node->next; } int i = 0, j = vec.size() - 1; while (i < j) { vec[i]->next = vec[j]; i++; if (i == j) { break; } vec[j]->next = vec[i]; j--; } vec[i]->next = nullptr; } };

 

最新回复(0)