84.3%+100%
* 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) {
//定义俩个头节点,一个用来往下走,一个记录上一个位置
ListNode* head_copy = head;
ListNode* fore = head;
if(head -> val == val)return head->next;//唯一的注意,删除不了头节点内容
while(head_copy)
{
if(head_copy->val != val)
{
fore = head_copy;
head_copy = head_copy -> next;
}
else
{
fore -> next = head_copy -> next;
return head;
}
}
return head;