跳至内容

回文检查器 - 即时文本验证工具(免费)

检查一段输入文字从前往后读和从后往前读是否完全相同,也就是判断它是否属于回文结构。这款免费的在线回文检测工具在比对时会自动忽略其中的空格、标点符号、字母大小写差异以及重音符号,从而确保最终判断结果的准确性,适用于编程算法面试练习、文字游戏创作以及语言文字规律的学习研究。

回文检查器

示例

  • "racecar" - 是的,这是回文!
  • "A man a plan a canal Panama" - 是的,这是回文!
  • "hello" - 不,不是回文
加载计算器...
📚

文档

什么是回文检查器?

回文检查器是一种用于测试一段文本正读和倒读是否相同的工具。它会忽略空格、标点符号和大小写,因此像"A man, a plan, a canal: Panama"这样的句子也算回文,尽管倒过来后逐字符并不完全相同。

如何使用此回文检查器

  1. 在输入框中输入或粘贴一个单词、短语或数字。
  2. 结果会立即显示:"Yes, it's a palindrome!"或"No, not a palindrome."
  3. 查看"Cleaned text"一行,即可准确了解比较的内容。
  4. 点击示例之一即可立即进行测试。
  5. 使用“Reset”清除输入并重新开始。

检查在浏览器中运行。不会有任何文本发送到服务器。

回文检查器的工作原理

该工具分两步工作。

步骤1:清理文本

比较之前,文本会经过清理:

  • 带重音符号的字母会转换为不带重音符号的基本字母。É变为e,á变为a。
  • 文本会转换为小写。
  • 所有非字母或数字的内容都会被删除,包括空格、逗号、句号和其他标点符号。

这一步会保留任何字母表中的字母,而不仅仅是英语使用的26个字母。西里尔文、希腊文、希伯来文和中文文本都会以相同方式清理,因此也能正确检测以其他语言书写的回文。

步骤2:将文本与其反转形式进行比较

清理后的文本会被反转,然后逐字母与清理后的原文本进行比较。如果每个位置都匹配,该文本就是回文。

回文公式

对于长度为n的清理后字符串S,当满足以下条件时,该文本是回文:

S[i] = S[n − 1 − i],其中位置i从0到n − 1。

简单来说:第一个字母必须与最后一个字母匹配,第二个字母必须与倒数第二个字母匹配,依此类推,直到中间位置。以这种方式检查字符串所需的时间与其长度成正比,因为清理步骤和比较步骤都会逐个查看每个字符。

算例

以句子"A man, a plan, a canal: Panama."为例。

  1. 清理:统一大小写,并删除标点符号和空格。结果为amanaplanacanalpanama。
  2. 反转清理后的文本:amanaplanacanalpanama。
  3. 比较两个字符串。它们相同,因此该句子是回文。

带重音符号的文本也会以相同方式处理。“Été”(法语“夏天”)会被清理为ete,因为É上的重音符号会转换为不带重音符号的e。将ete反转后仍然是ete,因此它是回文。西班牙语句子"Dábale arroz a la zorra el abad"会被清理为dabalearrozalazorraelabad,反转后也保持相同。

回文示例

**单词:**racecar、level、radar、civic、kayak、noon、rotor、madam

短语:"A man, a plan, a canal: Panama"、"Was it a car or a cat I saw?"、"Never odd or even"、"Do geese see God"

**数字:**12,321、1001、45,654

回文检查的常见用途

  • **编程面试。**检查回文是标准的字符串操作练习,可以测试应聘者如何处理空输入、单个字符和大小写混合等边界情况。
  • **表单验证。**一些系统会标记回文用户名、产品代码或序列号,因为这些模式更容易被猜到,或可能使某些扫描器产生混淆。
  • **文字游戏和谜题。**填字游戏设计者和文字游戏设计者会将回文用作答案,因为玩家通常会因发现它们而感到满足。
  • **编程教学。**回文检查是一项常见的入门练习,因为它结合了字符串处理、循环和条件逻辑,而不需要使用高级数据结构。
  • **分子生物学。**DNA中的回文序列在以相同的化学方向读取两条链时,读出的内容相同。限制性内切酶会识别这些序列并在其位置切割DNA,这项技术广泛应用于基因工程。

回文简史

回文存在于许多文化和多个世纪之中。Sator方阵是一种拉丁文文字方阵,其内容为"SATOR AREPO TENET OPERA ROTAS,",发现于庞贝,年代早于公元79年。它从四个方向读起来都相同:从左到右、从右到左、从上到下以及从下到上。

几个世纪以来,作家一直把回文视为一种文学挑战。詹姆斯·乔伊斯在小说《尤利西斯》中创造了“tattarrattat”一词,用来表示敲门声。它有12个字母,常被认为是英语中最长的单词回文之一。

常见问题

回文是什么?

回文是一个单词、短语、数字或序列;忽略空格、标点符号和大小写后,正读和倒读的内容相同。

这个工具会忽略空格和标点符号吗?

会。文本会在比较前经过清理,因此"A man, a plan, a canal: Panama"会被识别为回文,尽管包含逗号和冒号的原始句子倒过来后并不完全相同。

它能处理带重音符号的字母和其他字母表吗?

能。比较前,带重音符号的字母会转换为基本字母,因此é会变为e。任何文字系统中的字母都会被保留,而不仅仅是英语字母表中的26个字母,因此希腊文、西里尔文、希伯来文或中文文本会按照与英语文本相同的方式进行清理和比较。

数字会作为回文进行检查吗?

会。清理过程中会保留数字,因此12,321或1001等数字字符串会按照与单词相同的方式进行检查。

单个字母是回文吗?

是。根据定义,单个字符正读和倒读相同,因此“a”和“I”都算回文。

回文与变位词之间有什么区别?

回文正读和倒读相同,例如“radar”。字母重排会重新排列一个单词或短语中的字母,拼出另一个不同的单词,例如“listen”和“silent”。这两个概念没有关联。