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