题目描述
给定一个单链表 L 的头节点 head ,单链表 L 表示为:
L0 → L1 → … → Ln-1 → Ln
请将其重新排列后变为:
L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …
不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reorder-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Java
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
//双指针
class Solution {
public void reorderList

这篇博客介绍了如何解决LeetCode上的第143题——重排链表。通过使用双端队列,将原始链表L0→L1→…→Ln-1→Ln重新排列为L0→Ln→L1→Ln-1→L2→Ln-2→…,文章详细解释了节点交换的过程,旨在帮助读者理解链表操作和双端队列的应用。
最低0.47元/天 解锁文章
820

被折叠的 条评论
为什么被折叠?



