添加和删 除第一个节点

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

我想创建一个方法来在列表的开头添加一个元素并删除第一个元素。

这是我的Nodeclass(我只使用ints,我已经创建了标准的getter和setter)和我的LinkedList类:

public class Node
{
    private int info = 0;
    private No next = null;

    No(int i)
    {
    this.info = i;
    }
}

public class LinkedList
{
    public Node first, last;
    public int size;

    public LinkedList()
    {
        this.first = this.last = null;
        size = 0;
    }

我能够创建addFirst方法:

void addFirst(int e)
{
    Node n = new No(e);

    if(isEmpty()){
        this.first = n;
        this.last = n;
    }       
    else{
        n.setNext(this.first);
        this.first = n;
    }

    size++;
}

addFirst工作正常,但我不知道如何处理deleteFirst

我尝试过类似的东西

int deleteFirst()
{           
    first = this.first.getNext();
    return first.getInfoo();
    size--;
}

但它不起作用。有小费吗?

我很感激帮助。

java linked-list
1个回答
0
投票

如果你的deleteFirst方法应该删除第一个Node并返回它的值,那么你应该将this.first指针移动到下一个,然后返回先前的this.first值。

int deleteFirst() {           
    first = this.first.getInfoo();
    this.first = this.first.getNext();
    size--;
    return first;
}
© www.soinside.com 2019 - 2024. All rights reserved.