如何将节点添加到倒数第二个位置?

问题描述 投票:0回答:1

所以我正在尝试创建一个方法,在链表的倒数第二个位置插入一个节点。

前 - 我想把2放在我的[1,2,3]列表的倒数第二位,所以我的列表现在是[1,2,2,3]

我尝试了以下代码,但它似乎不起作用。

public void addSecondToLast(int data){
    Node node = new Node();
    node.data = data;
    node.next = null;

    if(top == null){
        node = top;
    }
    if(top.next == null){
        node = top.next;
    }
    else {
        Node temp = new Node();
        Node prev = new Node();
        temp = top;

        while(temp.next != null){
            prev = temp;
            temp = temp.next;
        }
        prev = node;
        node.next = temp;


    }
java linked-list singly-linked-list
1个回答
2
投票

在你要分配prev = node的else语句中,它应该是prev.next = node,因为prev是当前秒到最后一个,现在节点将取代它,所以指向节点并将节点连接到节点链表的最后一个节点。试试这个,它应该工作。

first-> prev-> last,现在你的新节点应该在prev和last之间,所以first-> prev-> node-> last

© www.soinside.com 2019 - 2024. All rights reserved.