欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 143 重排链表-中等

发布时间:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LeetCode 143 重排链表-中等 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

给定一个单链表 L:L0→L1→…→Ln-1→Ln ,
将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

示例 1:

给定链表 1->2->3->4, 重新排列为 1->4->2->3.

示例 2:

给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3.

代码如下:

/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/ class Solution { public:void reorderList(ListNode* head) {if (head==nullptr) return ;vector<ListNode*>v;ListNode*pre= head;while(pre){v.push_back(pre);pre = pre->next;}int i = 0;int j = v.size()-1;while(i<j){v[i]->next = v[j];i++;if (i==j) break;v[j]->next = v[i];j--;}v[i]->next = nullptr;} }; 创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的LeetCode 143 重排链表-中等的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。