添加和删​​除第一个节点

时间:2019-03-27 23:16:09

标签: java linked-list

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

这是我的Node类(我仅使用int,并且创建了标准的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--;
}

但是它不起作用。有提示吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您的deleteFirst方法应删除第一个Node并返回其值,则只需将this.first指针移至下一个,然后返回前一个this.first值。

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