背景简介
若一个字符串的正序与倒序相同,则称其为回文字符串。比如”level”或者”noon”等都是回文字符串。
问题描述
判断一个字符串是否是回文字符串。
如果字符串通过数组存储,通过下标运算能够轻易得到结果。
若考虑字符串是通过单链表来存储,那该如何来判断是一个回文串呢?
解法
- 快慢指针定位中间节点;
- 从中间节点对后半部分逆序;
- 前后半部分进行比较,判断是否为回文串。
代码
python
1 | import sys |
运行结果:
1 | (.venv) ➜ 回文问题 git:(master) ✗ python palindrome.py 12412 |
c++
1 |
|
运行结果:
1 | [root@mail ~]# ./palindrome 12412 |