检查单链表中的回文

标签 c list data-structures hyperlink

<分区>

Possible Duplicate:
Single Linked List is Palindrome or not

假设我有一个包含字符项的链接列表,我需要查找该链接列表中的字符是否为回文。我知道链接列表根本不是一个合适的结构,但是如果我们有一个怎么办?

例如 a-b-c-b-a

双向链表很简单,我们可以从头和尾开始

ptrh=head ptrt=tail
if(ptrh->item==ptrt->item)

ptrh->ptrh->frwdlink
ptrt->ptrt->bcklink

但是如果我们只有一个链表呢?那怎么实现呢?

最佳答案

知道列表的大小,您就可以知道中间是什么。然后,当你遍历时,你只需将所有字符缓存到中间,并确保它们在中间之后以相反的顺序出现。

关于检查单链表中的回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11910352/

相关文章:

javascript - 如何计算图像周围的计算透明区域?

java - Hibernate映射列出双方关系。

java - 使用 indexOf() 迭代单字符串列表

haskell - 一棵单子(monad)玫瑰树可以有一个 MonadFix 实例吗?

c++ - 我写了这个方法来删除链表的重复元素,但它显示段错误,为什么?

algorithm - 反转数组查询

c - 试图理解链表插入函数的代码

c++ - 文件作用域和全局作用域的区别

c - lighttpd : Close its client socket by throwing error "Connection reset by peer"

javascript - 包含按钮错误 : I would a button every 8 elements of the list 的列表