当前位置: 首页 > news >正文

判断回文字符串

一、什么是回文字符串?

回文字符串是指一个字符串从前往后读和从后往前读是一样的。例如:

  • "abcba"→ 是回文

  • "hello"→ 不是回文

  • ""→ 空字符串通常认为是回文

  • "a"→ 单个字符也是回文

二、实现方法

1.双指针法(用两个指针分别指向字符串的开头和结尾,逐个比较字符,如果遇到不相等则不是回文,直到两个指针相遇。)

public static boolean isPalindrome(String str){ if(str == null){ return false; } int left = 0, right = str.length() - 1; while(left < right){ if(str.charAt(left) != str.charAt(right)){ return false; } left++; right--; } return true; }

2.字符串反转法(如果反转后的字符串与原字符串相等,则是回文。可以借助StringBuilderreverse()方法实现。)

public static boolean isPalindromeByReverse(String str){ if(str == null){ return false; } if(str.length() <= 1){ return true; } String reversed = new StringBuilder(str).reverse().toString(); return str.equals(reversed); }

3.忽略大小写和分字母和数字

public static boolean isPalindrome(String str){ if(str == null){ return false; } int left = 0, right = str.length() - 1; while(left < right){ char leftChar = str.charAt(left); char rightChar = str.charAt(right); if(!Character.isLetterOrDigit(leftChar){ left++; continue; } if(!Character.isLetterOfDigit(rightChar){ right--; continue; } if(Character.toLowerCase(leftChar) != Character.toLowerCase(rightChar){ return false; } left++; right--' } return true; }
http://www.jsqmd.com/news/545036/

相关文章:

  • Android Gradle - Gradle 自定义插件(Build Script 自定义插件、buildSrc 自定义插件、独立项目自定义插件)
  • 电柜的接地电阻标准通常应不大于4Ω是为什么?
  • RDK X5到手别急着玩,先搞定这3个远程连接和VNC卡顿的坑
  • LibreCAD完整入门指南:如何免费掌握专业2D CAD设计
  • 2026液压升降货梯:解码工业货运三大变革趋势 - 速递信息
  • 攻克直播链接解析难题:DouyinLiveRecorder的全方位解决方案
  • 十分钟搞定智能客服:用快马平台快速原型化你的第一个ibbot机器人
  • OpenClaw+ollama-QwQ-32B实战:自动化处理100份简历筛选
  • 突破3D打印数据壁垒:Blender 3MF格式插件的技术实现与实战应用
  • LyricsX深度使用指南:打造你的macOS桌面歌词体验
  • 别再用错模型了!PX4飞控仿真中,刚体模型和阻尼模型到底怎么选?(附Python/Simulink代码对比)
  • 别再浪费贴图了!UE5 Vertex Color完全指南:从基础混合到进阶高度控制
  • Dlib零基础避坑指南:Windows Python环境一键部署实战
  • 科研图表数据提取的现代解决方案:用WebPlotDigitizer重塑你的数据处理工作流
  • 100行代码掌握扩散模型:Diffusion-Models-pytorch完全指南
  • 手把手教你用PaddleSeg搭建人像抠图API:含MODNet模型调优技巧与避坑指南
  • 打造手游PC级操控:QtScrcpy键鼠映射完全指南
  • Qwen-Image-2512像素艺术未来演进:3D像素体素(Voxel)生成扩展路径
  • RWKV7-1.5B-g1a开源镜像安全实践:模型文件SHA256校验+服务非root运行配置
  • 华为eNSP实验翻车实录:SSH配置最常见的3个坑及一键排查命令
  • 智能EFI构建:OpCore Simplify如何将黑苹果配置效率提升90%
  • 如何在.NET应用中快速集成VLC多媒体播放功能:终极实战指南
  • 探索WiFi CSI感知技术:从信号解码到环境智能的深度剖析
  • 2026北海牙科医院价格表及口腔服务项目指南 - 品牌排行榜
  • 实战避坑指南:在搭载骁龙888的Android设备上调试显示异常(从Gralloc到SurfaceFlinger)
  • 3步玩转AI动画:用MoMask让文字秒变3D人体动作
  • 【生成式AI与分子设计】2.2.2 酶与蛋白质设计专用模型
  • Nano-Banana算法优化实战:提升复杂结构拆解效率
  • 5分钟掌握终极音频切换神器:告别繁琐设置,实现一键切换自由
  • 别再只盯着MIM电容了!聊聊CMOS芯片里那些‘自带’的电源去耦帮手(Intrinsic Capacitance)