✏️ 纠错
第 179 题 / 共 251 题
第3题 基于上题代码正确的前提下,填入相应代码完善append(),用于在双向链表尾部增加新节点,横线上应填写( )。
void append(int data) {
Node* newNode = new Node{data, nullptr, nullptr};
if (is_empty()) {
head = tail = newNode;
} else {
_________________________
}
++size;
}你真棒!
📝 题目解析
答案:D
知识点:双向链表的插入操作,链表节点指针的调整
解析:在尾部添加节点需完成三步:1.原尾节点的next指向新节点;2.新节点的prev指向原尾节点;3.更新tail为新节点。A缺少后两步,B缺少第一步,C顺序错误(先更新tail会导致指针错误),因此D正确。