用java写一个删除最后一个链表元素的方法
下面是一个用Java实现删除最后一个链表元素的方法的示例:
public class ListNode {
int val;
ListNode next;
public ListNode(int val) {
this.val = val;
this.next = null;
}
}
public class Solution {
public ListNode deleteLastNode(ListNode head) {
if (head == null || head.next == null) {
return null;
}
ListNode curr = head;
ListNode prev = null;
while (curr.next != null) {
prev = curr;
curr = curr.next;
}
prev.next = null;
return head;
}
}
在这个示例中,我们使用一个ListNode类来表示链表的节点,每个节点包含一个整数值val和一个指向下一个节点的指针next。
deleteLastNode方法接受一个链表的头节点head作为参数,并返回删除最后一个节点后的链表头节点。在方法中,我们首先检查链表是否为空或只有一个节点,如果是,则直接返回null。然后,我们使用两个指针curr和prev来遍历链表,找到最后一个节点。最后,我们将prev的next指针设置为null,从而删除最后一个节点。最后,我们返回原始的链表头节点。
注意,在这个示例中,我们假设链表中至少有两个节点,如果链表为空或只有一个节点,我们将返回null。如果需要支持链表为空或只有一个节点的情况,可以在方法开始处添加额外的检查
原文地址: https://www.cveoy.top/t/topic/im0m 著作权归作者所有。请勿转载和采集!