java 如何打印链表
打印链表的方法
在Java中,打印链表可以通过遍历链表节点并输出每个节点的值来实现。以下是几种常见的实现方式:
使用while循环遍历
public void printLinkedList(ListNode head) {
ListNode current = head;
while (current != null) {
System.out.print(current.val + " ");
current = current.next;
}
System.out.println();
}
使用for循环遍历
public void printLinkedList(ListNode head) {
for (ListNode current = head; current != null; current = current.next) {
System.out.print(current.val + " ");
}
System.out.println();
}
递归方式打印
public void printLinkedList(ListNode head) {
if (head == null) {
System.out.println();
return;
}
System.out.print(head.val + " ");
printLinkedList(head.next);
}
重写toString方法
如果链表是自定义类,可以在类中重写toString方法:
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
ListNode current = head;
while (current != null) {
sb.append(current.val).append(" ");
current = current.next;
}
return sb.toString();
}
使用时直接调用System.out.println(list)即可打印。
格式化输出
如果需要更美观的输出格式,可以使用以下方式:
public void printLinkedList(ListNode head) {
System.out.print("[");
ListNode current = head;
while (current != null) {
System.out.print(current.val);
if (current.next != null) {
System.out.print(", ");
}
current = current.next;
}
System.out.println("]");
}
以上方法假设链表节点定义为:

class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
根据实际需求选择合适的方法,递归方式简洁但可能引发栈溢出,循环方式更安全可靠。






