1.题目
2.思路
这题和普通的单链表删除不同,普通的单链表删除是找到删除节点的前一个和后一个,修改指针即可,这题只给一个删除节点,所以思路可以转变成,把所有节点的值向前移一个,然后删除最后一个节点即可
3.Java语言题解
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public void deleteNode(ListNode node) {
ListNode current = node;
while(current.next!=null){
current.val = current.next.val;
if(current.next.next == null){
current.next = null;
}else{
current = current.next;
}
}
}
}
时间复杂度 T(N),空间复杂度O(1)