Java 链表构建 - 如何避免最后一位为 null
在使用 Java 构建链表时,经常会遇到最后一位节点为 'null' 的问题。这会导致遍历链表时出现错误,因为无法访问到最后一个节点的实际数据。
问题描述
代码中存在着链表的最后一位是 'null' 的问题,想要链表的最后一位是实际的数据。
预期值: 1, 2, 3, 4, 5
实际值: 1, 2, 3, 4, 5, 'null'
解决方案
您可以将当前节点 'curr' 的初始值设置为 'null',然后在循环开始之前添加一个 'if' 条件来判断 'curr' 是否为 'null'。如果 'curr' 为 'null',则将 'curr' 指向新创建的节点,否则将 'curr' 的下一个节点指向新创建的节点。这样就可以确保链表的最后一位是实际的数据。
修改后的代码:
public ListNodeE buildLinkedList(int[] arr){
ListNodeE dummy = new ListNodeE(0);//虚拟头节点
ListNodeE curr = null;
for (int nums : arr) {
if (curr == null) {
curr = new ListNodeE(nums);
dummy.next = curr;
} else {
curr.next = new ListNodeE(nums);
curr = curr.next;
}
}
return dummy.next;
}
注意:
我们还将 'dummy.next' 的赋值放在了 'if' 条件中。这是因为当 'curr' 为 'null' 时,我们需要将 'dummy.next' 指向新创建的节点,以便链表的头部正确连接。
通过以上修改,您就可以成功地避免链表最后一位出现 'null' 的问题,并获得预期结果。
原文地址: https://www.cveoy.top/t/topic/pYVi 著作权归作者所有。请勿转载和采集!