如何直观地打印一个链表

博客指出在代码过程中,链表是常见数据结构,但Java不能直接打印链表,每次写代码输出或用Debug工具查看较麻烦。作者将打印链表的代码封装到工具类里,并贴出代码,还给出测试代码及结果,同时列出树和链表相关的文章。

在我们平时的代码过程中,像在这篇如何直观地打印一棵树里提到的树一样,链表同样是我们经常遇到的一个数据结构,它非常的简单,但是Java语言并不能直接将一个链表打印出来,如果每次都写代码将其输出,或者用Debug工具查看的话,又有些麻烦,所以我就把打印链表的代码封装到一个工具类里来使用,在这里贴出来以供参考。

引言

在本文中所用的链表的结构,是leetcode中所用的链表的结构:

// ListNode.java
public class ListNode {
    public int val;
    public ListNode next;
    public ListNode(int x) {
        val = x;
    }
}

如何直观地打印一个链表

由于方法比较简单,就直接贴上代码:

// ListOperation.java
public class ListOperation {
    public static void show(ListNode head) {
        if (head == null) {
            System.out.println("EMPTY LIST!");
            return;
        }
        ListNode currNode = head;
        while (currNode.next != null) {
            System.out.print(currNode.val);
            System.out.print("->");
            currNode = currNode.next;
        }
        System.out.print(currNode.val);
        System.out.println();
    }
}

测试

测试用的代码,可以用作demo(实际所展示的的代码为ListOperation.show(node1)

public class ListOperationTest {
    public static void main(String[] args) {
        // 手动创建一个链表
        ListNode node1 = new ListNode(1);
        ListNode node2 = new ListNode(2);
        ListNode node3 = new ListNode(3);
        ListNode node4 = new ListNode(4);
        node1.next = node2;
        node2.next = node3;
        node3.next = node4;
        // 用我们的方法将上面创建的这个链表打印出来
        ListOperation.show(node1);
    }
}

测试结果:

1->2->3->4

相关文章

树相关:
如何直观地打印一棵树
如何直观地创建一棵树

链表相关:
如何通过数组或字符串直观地创建链表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值