)
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* deleteNode(ListNode* head, int val) {
if(head->val==val) return head->next;
ListNode* pre=head;
ListNode* cur=head->next;//此题似乎不用考虑链表里没有对应节点
while(cur!=nullptr&&cur->val!=val){
pre=cur;
cur=cur->next;
}
if(cur!=nullptr&&cur->val==val){
pre->next=cur->next;
}
return head;
}
};
讲得不错的一个:
https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/solution/mian-shi-ti-18-shan-chu-lian-biao-de-jie-dian-sh-2/