双链表结点定义如下,若要删除双链表中的中间结点(非首尾节点) p ,下面写法正确的是( )。
struct Node {
int val;
Node* prev;
Node* next;
};
- A. p->prev->next = p->next; p->next->prev = p->prev; delete p;
- B. p->next->prev = p->next; p->prev->next = p->prev; delete p;
- C. p->prev = p->next; p->next = p->prev; delete p;
- D. p->next->next = p->prev; p->prev->prev = p->next; delete p;
正确答案:A