前言:
现在小伙伴们对“算法用顺序栈判断是否为回文”大概比较关怀,你们都想要了解一些“算法用顺序栈判断是否为回文”的相关知识。那么小编同时在网上搜集了一些有关“算法用顺序栈判断是否为回文””的相关内容,希望同学们能喜欢,同学们一起来了解一下吧!题目描述:
题目描述给定一个链表,判断该链表是不是回文链表(什么是回文呢? 这里拓展一下,引入回文数。回文数:121,12321,123321,465564等这些都是回文数,可以理解成两边对称,也可以理解逆序后完全相等。)
思路:
这里先提供一个通用思路(借助栈):最简单的方法是借用栈。因为栈是一种“后进先出”的数据结构(回文数的做法:把数字转成string,然后每一个字符(顺序遍历)push到stack中。再逐个判断stack中pop出来的元素是否与字符串中的每个字符相同(顺序遍历);;;;回文链表中的做法:把上面的字符换成对应的结点就可以了)。虽然这中思路容易理解,但是浪费空间。
1)、回文数
判断回文数的思路1:可以直接从数值的中间位置截断,第一位与最后一位比较,第二位与倒数第二位比较。下面附上该思路代码
判断回文数的思路2:把数值逆序,不借助栈。下面附上该思路代码
2)、回文链表
思路一:先附上用栈处理的代码:
思路二:快慢指针(处理链表的神器)。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #算法用顺序栈判断是否为回文