设单链表中存放着N个字符 写出一算法 判断该字符串是否是有中心对称关系

PPC叔叔 2006-04-22 02:44:08
设单链表中存放着N个字符 写出一算法 判断该字符串是否是有中心对称关系
...全文
1193 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyfhz 2006-08-03
  • 打赏
  • 举报
回复
假如说比较的字符串是在一个Array of char里面,
那么或许可以直接用内存Copy的方法直接Copy一个反序的内存块,
然后两个内存块直接作XOR操作。最后如果有办法不循环直接就知道这个内存块是否全部为0的话,那就是O(1) 啦 :D
galois_godel 2006-08-03
  • 打赏
  • 举报
回复
怎么想都是O(n)
Ichigo 2006-08-01
  • 打赏
  • 举报
回复
先将单链遍历一遍,记录下其中元素的个数(n)
再从头遍历,边遍历边记数边存入数组,直到(n div 2)
然后,顺着单链继续遍历,并与数组比较

yyfhz 2006-08-01
  • 打赏
  • 举报
回复
遍历全表,作一个双向索引链表或者是数组
然后进行比较就快了,不用一次次的去找尾节点。这样做的话时间复杂度为O(n),但是比较费空间。
stefant2003 2006-06-08
  • 打赏
  • 举报
回复
我的思路是:
(1)先遍历链表找到中间结点, O(n)
(2)将前半部分链表逆序,O(n)
(3)从中间开始向两端作比对到不相同为止,O(n)

算法时间复杂度是O(n)
CD2006 2006-04-22
  • 打赏
  • 举报
回复
能出这样的题的老师,也真是没着了

呵呵,不断的把当前的表头结点拆下,然后顺链找到表尾,和表尾节点比较,如果相同,则删除这两个节点,并重复这个过程,直到表为空(判为中心对称)或与表尾节点不相同(判为非中心对称)

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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