Java教程

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;
        }
    }
}
这篇关于Java实现单链表(头插法和尾插法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!