1 /** 2 * Definition of ListNode 3 * class ListNode { 4 * public: 5 * int val; 6 * ListNode *next; 7 * ListNode(int val) { 8 * ...
分类:
其他好文 时间:
2015-07-07 22:34:59
阅读次数:
203
struct ListNode
{
int m_nValue;
ListNode* m_pNext;
};
void DeleteNode(ListNode** pListHead,ListNode* pToBeDeleted);
并不是一定需要得到被删除的结点的前一个结点,可以将被删除结点的后一个结点的内容复制到被删除结点,然后...
分类:
其他好文 时间:
2015-07-07 21:17:01
阅读次数:
119
1 /** 2 * Definition of ListNode 3 * class ListNode { 4 * public: 5 * int val; 6 * ListNode *next; 7 * ListNode(int val) { 8 * ...
分类:
其他好文 时间:
2015-07-07 21:08:38
阅读次数:
104
题目描述:
题目描述:
输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容重复的节点(重复的节点全部删除),剩余的节点逆序倒排。
要求实现函数:
void vChanProcess(strNode * pstrIn,strNode * pstrOut);
【输入】 pstrIn:输入一个不带头节点的单向链表
【输出】 pstrOut:删除内容重复的节点(重复的节点全部...
分类:
其他好文 时间:
2015-07-01 10:08:44
阅读次数:
133
这里的删除是只要有重复就要全部删除,如1->2->2->3,删除之后就是1->3.
#include
#include
struct ListNode
{
int val;
struct ListNode *next;
};
struct ListNode* deleteDuplicates(struct ListNode* head)
{
if(NULL==he...
分类:
其他好文 时间:
2015-06-28 17:08:48
阅读次数:
107
下边讨论暂不包括尾节点。 一般来说,我们要删除链表中的一个节点是需要知道其上一节点的。但我们真的需要吗? 其实我们可以将待删节点的下一节点的值和指向的下一节点赋予待删节点,然后删除待删节点的下一节点。具体示例程序如下: 1 //O(1)时间删除链表节点,从无头单链表中删除节点 2 void ...
分类:
其他好文 时间:
2015-06-27 18:12:58
阅读次数:
118
下列代码实现的是单链表的按序插入、链表元素的删除、链表的输出...
分类:
编程语言 时间:
2015-06-26 11:01:26
阅读次数:
120
问题的由来:
当你第一次实现用递归实现链表删除功能的时候,是否有一丝丝的考虑过。这个问题呢?为什么对于非递归版本的删除必须要知道当前要删除节点的前驱,而需要对其前驱节点的next域指针进行修改。而递归删除却不需要呢?难道这样不会造成链表的断链吗?
好了。我们开始抽象出我们今天要解决的问题。
问题一:
递归实现链表节点的删除和非递归删除的区别是什么?
问题二:
为...
分类:
其他好文 时间:
2015-06-22 15:04:15
阅读次数:
197
题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点,链表节点与函数的定义如下:struct ListNode{int m_nValue;ListNode* m_pValue;};void DeleteNode(ListNode** pListNode,ListNode *...
分类:
其他好文 时间:
2015-06-09 23:11:44
阅读次数:
143
Given a sorted linked list, delete all duplicates such that each element appear only once.For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.对于这个删除链表中的重复元素但是对于重复元素需要保留一个,前面遇到的...
分类:
其他好文 时间:
2015-06-08 19:41:37
阅读次数:
172