我想创建一种在列表的开头添加元素并删除第一个元素的方法。
这是我的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--;
}
但是它不起作用。有提示吗?
感谢您的帮助。
答案 0 :(得分:0)
如果您的deleteFirst
方法应删除第一个Node
并返回其值,则只需将this.first
指针移至下一个,然后返回前一个this.first
值。
int deleteFirst() {
first = this.first.getInfoo();
this.first = this.first.getNext();
size--;
return first;
}