125. Valid Palindrome
来源:互联网 发布:下载手机淘宝2017 编辑:程序博客网 时间:2024/06/07 20:15
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
问题描述:给定一个字符串,判断该字符串是否是回文,只考虑数字和字母并且忽略大小写。
注:考虑字符串是否为空,这里空字符串也为回文字符串。
分析:首先将字符串中的符号去掉,包括.,空格等符号去掉,即把字符串中不是字母数字的去掉,用replaceAll函数即可。对去掉符号的字符串判断是否为空,若为空直接返回true,然后循环遍历字符串,判断是否是回文。
判断字符串是否是回文的思路是:先将字符串统一转成小写(或大写),然后判断第1个字符和最后1个字符是否相等,若不等,则不是回文串,若相等,则递归的判断由第2个字符~倒数第2个字符构成的串是否是回文串……变量i记录第i个字符,变量j记录倒数第j个字符,直到i<=j不成立时结束循环。判断回文过程中变量flag记录,若不是回文,flag=false,退出循环。最后返回flag。
public class Solution { public boolean isPalindrome(String s) { String s1 = s.replaceAll("[\\pP\\pS\\pZ]",""); // String s1 = s.replaceAll("[^a-zA-Z0-9]",""); if( s1.length() == 0 ) return true; boolean flag = true; for(int i=0,j=s1.length()-1;i<=j;i++,j--){ char c1 = Character.toLowerCase(s1.charAt(i)); char c2 = Character.toLowerCase(s1.charAt(j)); if(c1 != c2){ flag = false; break; } } return flag; }}
- [LeetCode]125.Valid Palindrome
- LeetCode 125. Valid Palindrome
- [Leetcode] 125. Valid Palindrome
- 【LeetCode】125.Valid Palindrome
- [leetcode] 125.Valid Palindrome
- 125. Valid Palindrome
- [leetcode] 125.Valid Palindrome
- Leetcode 125. Valid Palindrome
- 125. Valid Palindrome
- 125. Valid Palindrome LeetCode
- 125. Valid Palindrome
- 【LeetCode】125. Valid Palindrome
- 125. Valid Palindrome
- 125. Valid Palindrome
- Leetcode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode *** 125. Valid Palindrome
- HTML学习笔记01
- 水平,垂直居中总结
- linux 系统的硬盘概念和对文件系统的总结
- Java<链表引用置为null是否能删掉一个节点>
- C++中static关键字
- 125. Valid Palindrome
- HDU
- 清晰地理解PHP中的Cookie
- 二分板子 poj 3122 pie
- 抽象类VS接口
- 2017年读数轨迹
- 周记一.不管在哪里工作,你都可以创造不一样的价值
- memset用法详解
- C Primer Plus 6 笔记——可移植类型:stdint.h和inttypes.h