链表模板

模板

链表的几个注意事项:

  1. 链表为空时,head为空,也就是说head是需要存储数据的
  2. 在实战开发中需要考虑异常,但是上机考试中,假设输入都是合法的,所以文中不用考虑诸如空表执行删除等异常处理
  3. 为链表维护一个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;
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/flyangovoyang/p/10511815.html