问一个链表的问题

mlion521314 2006-12-23 01:08:44
用不带头结点的链表表示字符集合 现在想用一算法除去字符集合中重复的元素 希望算法时间复杂度最好能在O(N) 且空间复杂度也尽可能的小 最好不要再分配新的链表空间 请高手指教 说清楚思路就可以了
如下
输入 aaaaaadsfdsjssssdccc
输出 adsfjc
...全文
185 4 打赏 收藏 转发到动态 举报
写回复
用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,
一个输出链表为空

遍历 输入链表,
取出 字母,
把这个字母和 输出链表中遍历比较,
如果重复, 丢弃,
否则在 输出链表末尾追加 ...

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧