美文网首页
LeetCode 第143题:重排链表

LeetCode 第143题:重排链表

作者: 放开那个BUG | 来源:发表于2021-06-26 15:21 被阅读0次

1、前言

题目描述

2、思路

使用栈存储。

3、代码

class Solution {
    public void reorderList(ListNode head) {
        if(head == null){
            return;
        }

        Stack<ListNode> stack = new Stack<>();
        ListNode p = head, q = null;
        while(p != null){
            stack.push(p);
            p = p.next;
        }

        p = head;
        while(p != null && p.next != p && !stack.isEmpty()){
            q = stack.pop();
            q.next = null;
            ListNode nextNode = p.next;
            q.next = nextNode;
            p.next = q;

            p = nextNode;
        }

        if(q != null){
            q.next = null;
        }
    }
}

相关文章

网友评论

      本文标题:LeetCode 第143题:重排链表

      本文链接:https://www.haomeiwen.com/subject/xgrdyltx.html