首页 > 试题广场 >

判断是否为回文字符串

[编程题]判断是否为回文字符串
  • 热度指数:100433 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。

字符串回文指该字符串正序与其逆序逐字符一致。

数据范围:
要求:空间复杂度 ,时间复杂度
示例1

输入

"absba"

输出

true
示例2

输入

"ranko"

输出

false
示例3

输入

"yamatomaya"

输出

false
示例4

输入

"a"

输出

true

备注:
字符串长度不大于1000000,且仅由小写字母组成
头像 牛客题解官
发表于 2022-04-22 13:01:11
精华题解 题目的主要信息: 判断字符串是否是回文字符 回文字符即首尾相互往中靠,字符都是相同的 举一反三: 学习完本题的思路你可以解决如下题目: BM13. 判断一个链表是否为回文结构 BM87. 合并两个有序数组 BM91. 反转字符串 方法一:首尾依次比较法(推荐使用) 知识点:双指针 双指针指的是在 展开全文
头像 数据结构和算法
发表于 2021-03-19 22:50:54
1,双指针解决 题中说了只有小写字母,最简单的就是使用双指针,一个指向前,一个指向后,两个指针同时往中间走,如果两个指针指向的字符不一样就返回false,来看下代码 public boolean judge(String str) { if (str.length() == 展开全文
头像 王清楚
发表于 2020-12-15 16:10:38
回文串定义:“回文串”是一个正读和反读都一样的字符串所以,长度为1的字符串是回文串,例: “a” 进行𝑙𝑒𝑛/2次判断, 如果出现一次 𝑠𝑡𝑟[𝑖] != 𝑠𝑡𝑟[𝑙𝑒𝑛−1−𝑖] 那就不是回文,𝑙𝑒𝑛/2次判断全都相等,那么就是回文串 c++ class Solu 展开全文
头像 牛客162279431号
发表于 2021-10-25 21:57:12
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param str string字符串 待判断的字符串 # @return bool布尔型 # class Solution: def judge(self , str ): # w 展开全文
头像 SandMonth
发表于 2020-11-03 17:44:01
直接reverse函数判断(滑稽(逃) class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @r 展开全文
头像 牛客971465536号
发表于 2021-10-28 12:23:18
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @return bool布尔型 */ function judge( str ) { let arr = str.split 展开全文
头像 牛客78908957号
发表于 2021-09-26 22:23:10
分享JavaScript的代码,比较最左边和最右边的值是否相等,相等则左指针和右指针分别向中间进1,否则直接返回false; function judge( str ) { let isJudge=true; for(var i=0;i<str.length;i++){ 展开全文
头像 加油666
发表于 2021-06-07 11:16:27
1.Python 中间字符串反转解法 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param str string字符串 待判断的字符串 # @return bool布尔型 # class Solution: def judge(self , 展开全文
头像 牛客84370068号
发表于 2021-09-29 18:14:58
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param str string字符串 待判断的字符串 # @return bool布尔型 # class Solution: def judge(self , str ): # w 展开全文
头像 LifelongCode
发表于 2021-02-02 22:00:00
解法1: 𝑠𝑡𝑟[𝑖] != 𝑠𝑡𝑟[𝑙𝑒𝑛−1−𝑖] 进行𝑙𝑒𝑛/2次判断, 如果出现一次 𝑠𝑡𝑟[𝑖] != 𝑠𝑡𝑟[𝑙𝑒𝑛−1−𝑖] 那就不是回文,𝑙𝑒𝑛/2次判断全都相等,那么就是回文串 public boolean judge 展开全文
头像 小肥罗
发表于 2021-11-24 19:10:17
解题方法:java; 解题思路:1.了解什么是回文字符串:一个字符串的正序和反序一样;2.思路:用for循环遍历整个字符串,记住:为了防止for循环超时或者字符串太长,我们只需要遍历字符串的长度的一半; 其实就是二分思想,把字符串从中间分开成两半,前一半和后一半的逐个字符进行比较是否一致 展开全文