海口网站运营托管咨询,谷歌seo价格,网站建设优化服务公司,上海到北京机票查询请编写一个函数#xff0c;使其可以删除某个链表中给定的#xff08;非末尾#xff09;节点#xff0c;你将只被给定要求被删除的节点。 现有一个链表 -- head [4,5,1,9]#xff0c;它可以表示为: 示例 1: 输入: head [4,5,1,9], node 5 输出: [4,1,9] 解释: 给定你链表… 请编写一个函数使其可以删除某个链表中给定的非末尾节点你将只被给定要求被删除的节点。 现有一个链表 -- head [4,5,1,9]它可以表示为: 示例 1: 输入: head [4,5,1,9], node 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点那么在调用了你的函数之后该链表应变为 4 - 1 - 9. 示例 2: 输入: head [4,5,1,9], node 1 输出: [4,5,9] 解释: 给定你链表中值为 1 的第三个节点那么在调用了你的函数之后该链表应变为 4 - 5 - 9. 说明: 链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中的一个有效节点。 不要从你的函数中返回任何结果。 在真实的面试中遇到过这道题 来源力扣LeetCode 链接https://leetcode-cn.com/problems/delete-node-in-a-linked-list 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 解法
class Solution {
public:void deleteNode(ListNode* node) {node-val node-next-val;ListNode* p node-next;node-next node-next-next;delete p;p NULL;}
};