单链表Node

Class Node {

    // 下一结点;
    Node next = null;
    // 结点数据
    int data;

    // 构造函数
    public Node(int d) {
        data = d;
    }

    // 在链表尾部添加元素
    public void appendToTail(int d) {
        Node end = new Node(d);
        Node n = this;
        // 遍历至表尾
        while(n.next != null) {
            n = n.next;
        }
        n.next = end;
    }

    // 删除链表结点
    public Node deleteNode(Node head, int d) {
        Node n = head;
        // 删除的是第一个表头
        if(n.data == d) {
            return head = n.next;
        }
        while(n.next != null) {
            if(n.next.data = d) {
                n.next = n.next.next;
                return head;
            }
            // 检查下一个结点
            n = n.next;
        }
        // 找不到该结点
        return head;
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。