今天在力扣中遇到一个很有趣的题目,没有读懂题目所以按常规的思维做了,最后看了题解才终于理解了这道题;
题目链接:删除链表中的结点
题目意思:
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。
现有一个链表 -- head = [4,5,1,9],它可以表示为:
4--->5--->1--->9 node=5;
结果为:4--->1--->9
题目中也说了:链表中的结点都是唯一的,并且至少应该有两个结点,
题目思路:把要删除节点node的值修改为node.next的值,然后node的下一个节点跨过node.next即可,
这样直接就把node结点删除了;
代码为:
class Solution {
public void deleteNode(ListNode node) {
node.val=node.next.val;
node.next=node.next.next;
}
}
通过这道题,真真实实的告诉了我,语文很重要,审题很重要,做题要谨慎!!!