用一个空头链表接住输入列表,在用一个空结构体接住空列表头部,以前空列表的头就向后移动判断val是否相同,如果相同,就改变指向直接顶替掉。
struct ListNode* deleteNode(struct ListNode* head, int val ) {
// write code here
struct ListNode* tmp = (struct ListNode*)malloc(sizeof(struct ListNode));
struct ListNode* tm = (struct ListNode*)malloc(sizeof(struct ListNode));
tmp->next = head;
tm = tmp;
while(tmp->next){
if(tmp->next->val == val){
tmp->next = tmp->next->next;
break;
}
tmp = tmp->next;
}
return tm->next;
}