模板
链表的几个注意事项:
- 链表为空时,head为空,也就是说head是需要存储数据的;
- 在实战开发中需要考虑异常,但是上机考试中,假设输入都是合法的,所以文中不用考虑诸如空表执行删除等异常处理;
- 为链表维护一个size长度变量,很多时候都会意想不到点便利。
public class Main
{
public class ListNode{
public int val;
public ListNode next;
public ListNode(int value){
val = value;
}
}
public ListNode head;
public int size;
public Main(){}
public Main(int value){
head = new ListNode(value);
}
//从头部插入结点
public void insert(int value){
//如果为空
if(head == null){
head = new ListNode(value);
}else{
ListNode node = new ListNode(value);
node.next = head;
head = node;
}
size ++;
}
//从头部删除结点,假设删除时链表不为空
public int delete(){
int e = head.val;
head = head.next;
size --;
return e;
}
public boolean empty(){
if(size==0){
return true;
}else{
return false;
}
}
}