- 增删操作是否会造成头结点尾节点的改变;
1. 删除节点时头指针的改变
删除节点时,如果要删除的节点为头结点,头结点会发生改变,否则不改变。
Node deleteNode(Node head, int d) {
Node node = head;
if (node.data == d) {
// 头结点下移到下一个节点
return node.next;
}
while (node.next != null) {
if (node.next.data == d) {
// node 节点为要删除节点的前驱节点
node.next = node.next.next;
// 对头结点无影响
return head;
}
node = node.next;
}
// 未找到要删除的节点;
return head;
}