编程语言
首页 > 编程语言> > Java实现单链表(头插法和尾插法)

Java实现单链表(头插法和尾插法)

作者:互联网

手写单链表
定义一个ListNode类

public class ListNode {
    public int val;
    public ListNode next;

    public ListNode() {
    }

    public ListNode(int val) {
        this.val = val;
    }

    public ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }
}

用用头插法和尾插法完成链表的初始化

头插法实现相对比较简单
尾插法实现因为head不能变,所以需要一个辅助节点tem;

画图会比较容易理解。
在这里插入图片描述
在这里插入图片描述

import leetcode.dataType.ListNode;

public class LeetCode_206 {
    public static void main(String[] args) {
        ListNode head;
        ListNode tem;//辅助节点
        tem=head=null;
        int n = 5;
        //初始化链表
        while (n >= 0) {
            ListNode node = new ListNode(n);//new并初始化一个节点
            
            //头插法插入该节点
            /*node.next = head;
            head = node;*/

            //尾插法
            if (head == null) { //如果是第一次插入
                head = tem = node;
            } else {
                tem.next=node;
                tem=node;
            }
            n--;
        }

        while (head != null) {
            System.out.println(head.val);
            head = head.next;
        }
    }
}

标签:插法,head,单链,ListNode,val,next,Java,public
来源: https://blog.csdn.net/qq_44769557/article/details/118094855