[LeetCode]125. Valid Palindrome
来源:互联网 发布:超市收银系统源码 编辑:程序博客网 时间:2024/06/01 23:56
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.
Accepted pretty Java solution(271ms)
public class Solution { public boolean isPalindrome(String s) { if (s.isEmpty()) { return true; } int head = 0, tail = s.length() - 1; char cHead, cTail; while(head <= tail) { cHead = s.charAt(head); cTail = s.charAt(tail); if (!Character.isLetterOrDigit(cHead)) { head++; } else if(!Character.isLetterOrDigit(cTail)) { tail--; } else { if (Character.toLowerCase(cHead) != Character.toLowerCase(cTail)) { return false; } head++; tail--; } } return true; }}
My three line java solution
public class Solution { public boolean isPalindrome(String s) { String actual = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase(); String rev = new StringBuffer(actual).reverse().toString(); return actual.equals(rev); }}
Passed clean c++ code
bool isPalindrome(string s) {int start=0, end=s.length()-1;while(start<end) {if (!isalnum(s[start])) start++;else if (!isalnum(s[end])) end--;else {if (tolower(s[start++])!=tolower(s[end--])) return false;}}return true;}
bool isPalindrome(char* s) {
int start = 0, end = strlen(s) - 1;
while(start < end) {
if(!isalnum(s[start]))
start++;
else if(!isalnum(s[end]))
end--;
else
if(tolower(s[start++]) != tolower(s[end--]))
return false;
}
return true;
}
0 0
- [LeetCode]125.Valid Palindrome
- LeetCode 125. Valid Palindrome
- [Leetcode] 125. Valid Palindrome
- 【LeetCode】125.Valid Palindrome
- [leetcode] 125.Valid Palindrome
- [leetcode] 125.Valid Palindrome
- Leetcode 125. Valid Palindrome
- 125. Valid Palindrome LeetCode
- 【LeetCode】125. Valid Palindrome
- Leetcode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode *** 125. Valid Palindrome
- 【leetcode】125. Valid Palindrome
- [leetcode] 125. Valid Palindrome
- leetcode-125. Valid Palindrome
- LeetCode-125.Valid Palindrome
- leetcode 125. Valid Palindrome
- Android程序员学PHP开发(35)-ThinkPHP5.0(7)自动生成-phpStudy+Sublime
- imgproc模块/linear filter
- MYSQL-Failed to read auto-increment value from storage engine
- 【机器学习快速入门】简单自学机器学习理论
- 136. Single Number [easy] [python]
- [LeetCode]125. Valid Palindrome
- 35 个 Java 代码性能优化总结
- 在ubantu系统下安装opencv
- Git-flow 学习总结
- 图像处理常用的插值方法
- 使用javamail实现发送邮件(QQ邮箱和163邮箱)
- 自定义多线程的应用(Spring+Springmvc)
- 运行docker-compose up -d提示No such image错误
- 理解矩阵,矩阵背后的现实意义