LeetCode初级算法c++

删除链表的结点

这道题提供了删除结点新的思路

刚开始不会做,看了题解明白,以往删除结点想的是利用他的pre值,使他指向当前值的next,即可删除结点。

但是这道题中,没有pre值,要想删除结点,怎么办?

他又有个条件:不会访问到末尾指针!!

故此题可以这样解:让当前值保存是下个结点的值,然后删除其下一个结点!这样就相当于把当前值给删除了!!

class Solution {
    public:
        void deleteNode(ListNode* node) {
            node -> val = node -> next -> val;
            node -> next = node -> next -> next;
        }
    };

 


版权声明:本文为tyutzxt原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。