回文检查器
回文是指正读与反读结果相同的字符串。例如“Madam”很容易识别;而“A man,a plan,a canal: Panama”则需要稍加留意,因为其识别依赖于忽略标点符号和空格。该工具会自动对粘贴内容进行标准化处理(包括小写化、去除空格和标点),并验证结果是否为真正的回文,同时还会将原始字符串与其倒序版本并排显示。
回文检查的处理流程
-
1
粘贴文本或数字
一个单词、一个短语、一个长句子或一个数字字符串。
-
2
已应用标准化处理
文本被转换为小写,并移除所有非字母或数字的内容(空格、标点、符号)。每个 Unicode 字母都会原样保留,因此重音符号会被区分,非拉丁文字(包括汉字)也能正常处理。
-
3
正向与反向比较
若标准化字符串与其反向字符串相匹配,则为回文。
-
4
检查结果
该工具可显示原始字符串及经标准化处理后的反向字符串以供验证。
经典回文示例
| 文本 | 类型 |
|---|---|
madam |
单个单词 |
level |
单个单词 |
racecar |
单个单词 |
A man, a plan, a canal: Panama |
短语 |
Was it a car or a cat I saw? |
问题 |
Never odd or even |
短语 |
12321 |
编号 |
Mr. Owl ate my metal worm |
长句 |
上海自来水来自海上 |
中文回文 |
回文的类别
- 字符回文。 默认设置:字母顺序相同(正序与反序),忽略空格。
- 单词回文。 “I did, did I”,每个单词作为一个整体镜像对称。
- 倒置词(Semordnilaps)。 反转后形成不同单词的词语:“stressed”→“desserts”。
- 数值回文。 任何正反方向读取结果相同的数字序列:1991、1881。
- 基因组回文序列。 在DNA双链中某区域读取结果相同的序列(与限制性内切酶相关)。
检查编程
伪代码中的核心逻辑如下:
function isPalindrome(s):
normalized = lowercase(s)
normalized = removeAll(normalized, /[^\p{L}\p{N}]/u) // 保留字母和数字,任何文字
return normalized == reverse(normalized)
这是标准的面试热身问题。不同版本会增加特殊处理场景:忽略Unicode组合标记、处理空字符串、支持表情符号、考虑字素组合规则。
该规则的常见变体
- 严格模式: 计数所有字符(包括空格和标点符号)。
"aba"通过;"a man a plan"未通过。 - 仅限字母数字: 移除所有其他字符。大多数非正式的回文检测均采用此设置。
- Unicode 规范化处理: 有些检查器会在比较前合并带变音符号的字形(NFKD),使“café”与“éfac”相匹配。
本工具采用仅保留字母和数字的方式:转换为小写,保留每个 Unicode 字母和数字(任何文字,包括汉字),并移除其余内容。它不合并变音符号,因此带重音的字母必须与相同的带重音字母对应才算回文。本工具没有“严格模式”开关。
常见问题
是的。任何单个字符都显然是回文,它等于其反向序列。大多数教学定义要求至少包含三个字符才具有研究价值,而数学定义则接受长度为1甚至长度为0(空字符串)的情况。
将它们视为数字序列。121、12321 和 1991 均为数值回文。对于大整数,请检查其字符串表示形式;切勿尝试通过算术方法倒序排列该数字,否则会导致首位零丢失。
在英语领域,一部重要的作品是《一个人、一个计划、一条运河:巴拿马》及其众多扩展版本,彼得·诺维格创作的计算机生成回文长达17,000余字,但均不符合语法规则。吉尼斯世界纪录收录的最长单词回文为“tattarrattat”(出自乔伊斯的《尤利西斯》)。
是的,所有语言中皆然。芬兰语中的“saippuakivikauppias”(意为“皂石销售商”,共19个字母)常被公认为任何语言中最长的自然形成的单词回文。
相关工具
随机单词生成器
生成随机英文单词列表。选择日常、自然、创意或科技类单词,设置长度和数量,然后复制结果。
校对标记参考
通过简明说明和示例,了解英文传统校对中常见的14种校对标记。
从英语到猪拉丁语
将英语翻译为猪拉丁语,再反向翻译。该方法同时运用了经典的辅音群移动规则以及-ay后缀规则。
英语 -ly 副词高亮器
粘贴英语文本,高亮以 -ly 结尾的单词,并显示总数和唯一匹配项。误报和非 -ly 副词需要手动检查。
拼字比赛生成器
按级别生成打乱顺序的英语拼写练习单词表,从一年级到高难度的 Bee 轮次。内置单词表,免费练习。
英语拼写检查器
粘贴英语文本,从精选错拼列表中找出常见拼写错误,查看建议并复制修正后的版本。
此工具还提供其他语言版本
- Kiểm tra Palindrome [VI]
- Palindromskannare [SV]
- Palindrom-Prüfer [DE]
- Verificador de Palíndromos [ES]
- เครื่องมือตรวจสอบพาลินโดรม [TH]
- مُتحقق السلسلة المتقابلة [AR]
- 회문 검사기 [KO]
- Vérificateur de palindrome [FR]
- Pemeriksa Palindrom [ID]
- Palindroomcontrole [NL]
- Sprawdzanie palindromu [PL]
- 回文チェッカー [JA]
- Verificador de Palíndromos [PT]
- Palindrome Checker [EN]
- Controllore di Palindromi [IT]
- Проверитель палиндромов [RU]
- Palindrom Denetleyici [TR]