/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
void deleteNode(ListNode* node) {
*node=*(node->next);
}
};
注意是node=(node->next),不能是node = node.next。
这里是值传递,node = node->next只是改变了当前node引用值,并没有改变原始外部node所引用的值。
引用类型的赋值操作不同于基本类型:基本类型赋值时通常会拷贝内存数据,但引用类型赋值只是简单地改变引用的指向,不涉及内存操作。