题目:给一个链表,给一个节点的值,把对应的节点删除,然后把该链表返回回去。
public ListNode deleteNode(ListNode head, int val)
思路:就是正常地删除。
public ListNode deleteNode(ListNode head, int val) {
if(head == null){
return null;
}
if(head.val == val){
return head.next;
}
ListNode p = head;
while(p.next != null){
if(p.next.val == val){
p.next = p.next.next;
break;
}
p = p.next;
}
return head;
}
注意:剑指offer原题是条件给了要删除节点的指针target,还给了头结点head让删除该节点。
思路:把target指针后面那个节点的值赋值给target节点的值(要删除的节点),然后把target后面的那个节点删去。
需要实现了再回来补