最近写了几道回文串的题目,分别是
(LCR 018)验证回文串:leetcode.cn/problems/Xl…
(LCR 027)回文链表:leetcode.cn/problems/aM…
(LCR 020)回文子串:leetcode.cn/problems/a7…
前两道较简单,后一道中等难度。
(LCR 018)验证回文串
题目如下:
其示例如下:
我的做法是将字符串转换为小写,并去除非字母和数字的字符,后用双指针从首尾遍历字符串验证回文串。
以下是我的代码:
提交记录:
(LCR 027)回文链表
题目如下:
其示例如下:
使用快慢指针找到链表的中间节点,接着反转链表的后半部分,再将链表的前半部分与反转后的后半部分进行比较,最后根据比较结果判断链表是否为回文链表。注意对空链表、一个元素、两个元素的情况单独处理。
以下是我的代码:
提交记录:
(LCR 020)回文子串
题目如下:
其示例如下:
遍历字符串中的每个字符,将其作为中心字符,向两侧扩展,判断是否形成回文子字符串。同时,还需考虑回文子字符串长度为奇数和偶数的情况。 注意不要一个一个计算每种回文串的情况,直接定义回文串“中心”。回文串中心有一个字符也有两个字符。
以下是我的代码:
提交记录: