社区
新手乐园
帖子详情
问一个链表的问题
mlion521314
2006-12-23 01:08:44
用不带头结点的链表表示字符集合 现在想用一算法除去字符集合中重复的元素 希望算法时间复杂度最好能在O(N) 且空间复杂度也尽可能的小 最好不要再分配新的链表空间 请高手指教 说清楚思路就可以了
如下
输入 aaaaaadsfdsjssssdccc
输出 adsfjc
...全文
188
4
打赏
收藏
问一个链表的问题
用不带头结点的链表表示字符集合 现在想用一算法除去字符集合中重复的元素 希望算法时间复杂度最好能在O(N) 且空间复杂度也尽可能的小 最好不要再分配新的链表空间 请高手指教 说清楚思路就可以了 如下 输入 aaaaaadsfdsjssssdccc 输出 adsfjc
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xdlous
2006-12-23
打赏
举报
回复
char alpha[26];
memset(alpha,0,26 * sizeof(char));
//这下面适当改一下
for(int i = 0;i < listcount;i++)
{
char tmp = list(i); //获取元素
if (alpha[tmp - 'a']) //判断是否已存在,若存在则移除
remove(list(i));
alpha[tmp - 'a'] = 1; //设置标志
}
//输出
output
mlion521314
2006-12-23
打赏
举报
回复
如果是在原链表上做改动呢
jixingzhong
2006-12-23
打赏
举报
回复
一个 输入链表 aaaaaadsfdsjssssdccc,
一个输出链表为空
遍历 输入链表,
取出 字母,
把这个字母和 输出链表中遍历比较,
如果重复, 丢弃,
否则在 输出链表末尾追加 ...
两
链表
相交
问
题
两单向
链表
相交
问
题
一、
问
题
分析 (1)两个
链表
相交,那么两个
链表
中的节点一定有相同地址。 (2)两个
链表
相交,那么两个
链表
从相交节点开始到尾节点一定都是相同的节点。 (
问
:为什么? 答:因为每
一个
节点最多只能有
一个
下一节点,因此在相交节点之后,
链表
不可能再分为两个
链表
) 二、
问
题
解法 根据两个
链表
是否存在环来分类讨论 1、无环 无环的情况有两种比较快速的解决方式,这两种方...
【数据结构】[环形
链表
](LeetCode142. 环形
链表
II)给定
一个
链表
的头节点 head ,返回
链表
开始入环的第
一个
节点。 如果
链表
无环,则返回 null
给定
一个
链表
的头节点head,返回
链表
开始入环的第
一个
节点。如果
链表
无环,则返回null。如果
链表
中有某个节点,可以通过连续跟踪next指针再次到达,则
链表
中存在环。为了表示给定
链表
中的环,评测系统内部使用整数pos来表示
链表
尾连接到
链表
中的位置(如果pos是-1,则在该
链表
中没有环。pos,仅仅是为了标识
链表
的实际情况。
链表
。
如何手写
一个
单向
链表
?看这里
通常我们在大多数的面试中,遇到关于集合的
问
题
都是比较多的。一般情况下,许多面试官通常都会
问
我们关于Set集合和Map集合的相关知识点,并对此进行重重陷阱的布置,此时很多面试者往往就很容易被带到面试官挖好的陷阱里。另外就是双向
链表
,也是面试频率相对较多且较复杂的
问
题
,甚至还有一些面试官在
问
完双向
链表
的相关知识点后,还会变态地叫我们手写出
一个
单向
链表
,以此来考察面试者对
链表
的掌握情况。所以今天就带大家手写
一个
单向
链表
,让我们一起理清单向
链表
的实现思路。
链表
经典
问
题
之寻找两个
链表
的公共子节点
在解题没有思路的时候,有
一个
办法就是这是一道经典的算法题,剑指Offer52:输入两个
链表
,找到它们的第
一个
公共子节点。对于这种题,首先想到的就是,将第
一个
链表
的每
一个
节点依次与第二个链币的每
一个
节点进行比较,直到找到第
一个
相同的节点为止,但是这种方法的,排除!再看,队列在这道题中没有什么用,但是用栈是可以解决
问
题
的。将两个
链表
同时压到栈里,之后一边同时出栈,一边比较出栈元素是否一致,如果一致就说明存在相交。之后继续出栈,直到找到最后一组出栈元素相等的那个就是初始公共节点。接着来看。
五种方法解决两个
链表
第
一个
公共子节点
这是一道经典的
链表
问
题
先看一下题目。 输入两个
链表
,找出它们的第
一个
公共节点。 例如下面的两个
链表
: 两个
链表
的头结点都是已知的,相交之后成为
一个
单
链表
,但是相交的位置未知,并且相交之前的结点数也是未知的,请设计算法找到两个
链表
的合并点。 1.没有思路时该怎么解题 这种
问
题
该怎么入手呢?如果一时想不到该怎么办呢?其实这时候我们可以将常用数据结构和常用算法都想一遍,看看哪些能解决
问
题
。 常用的数据结构有数组、
链表
、队、栈、Hash、集合、树、堆。常用的算法思想有查找、排序、双指针、递归、迭.
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章