Delete Node in a Linked List
2015-12-07 08:47
701 查看
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is
the linked list should become
这道题让我们删除链表的一个节点,更通常不同的是,没有给我们链表的起点,只给我们了一个要删的节点,跟我们以前遇到的情况不太一样,我们之前要删除一个节点的方法是要有其前一个节点的位置,然后将其前一个节点的next连向要删节点的下一个,然后delete掉要删的节点即可。这道题的处理方法是先把当前节点的值用下一个节点的值覆盖了,然后我们删除下一个节点即可:
Supposed the linked list is
1 -> 2 -> 3 -> 4and you are given the third node with value
3,
the linked list should become
1 -> 2 -> 4after calling your function.
这道题让我们删除链表的一个节点,更通常不同的是,没有给我们链表的起点,只给我们了一个要删的节点,跟我们以前遇到的情况不太一样,我们之前要删除一个节点的方法是要有其前一个节点的位置,然后将其前一个节点的next连向要删节点的下一个,然后delete掉要删的节点即可。这道题的处理方法是先把当前节点的值用下一个节点的值覆盖了,然后我们删除下一个节点即可:
/** * 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->val=node->next->val; ListNode* temp=node->next; node->next=temp->next; free(temp); } };
相关文章推荐
- 分享一个基于 Node.js 的 Web 开发框架 - Nokitjs
- Node.js 爬虫初探
- nvm安装node报错
- node项目部署相关问题
- Node.js开发环境搭建
- node.js模块、包
- LeetCode Populating Next Right Pointers in Each Node I and II
- Nodejs学习笔记(三)——一张图看懂Nodejs建站
- node.js建立简单应用
- LeetCode:Populating Next Right Pointers in Each Node
- 发布nodejs到npm的简单示例
- LeetCode 237:Delete Node in a Linked List
- win7下安装配置node.js+express开发环境
- nodejs-fs使用
- win7下安装配置node.js+express开发环境
- 分享一个基于 Node.js 的 Web 开发框架 - Nokitjs
- 在 Node.js 上调用 WCF Web 服务
- 安装node.js+express for win7的Web开发环境配置
- nodejs中流(stream)的理解
- Day 27: Restify —— 在Node.js中构建正确的REST Web服务