如何直观地打印一个链表

在我们平时的代码过程中,像在这篇如何直观地打印一棵树里提到的树一样,链表同样是我们经常遇到的一个数据结构,它非常的简单,但是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

相关文章

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

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

原文地址:https://www.cnblogs.com/liulaolaiu/p/11744408.html