【LeetCode】Valid Palindrome
来源:互联网 发布:做淘宝如何和快递公司 编辑:程序博客网 时间:2024/06/06 01:15
Valid Palindrome
Total Accepted: 4526 Total Submissions: 21149 My Submissions
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.
判断某个字符串是不是回文串。
比较简单吧。
难点在于,字符串会有空格,以及标点符号之类的,这些可以统统忽略。
注意可以在一开始,将所有的空格都替换掉。将字母都转为小写。
用两个指针(C/C++习惯上的描述)来标记头和尾。
如果是字母或者是数字,就比较这两个字符是否相等,如果相等,比较下一个。
如果不是字母或者数字,头指针或者尾指针递加或者递减。
一直判断到头尾指针相等为止。
Java AC
Total Accepted: 4526 Total Submissions: 21149 My Submissions
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.
判断某个字符串是不是回文串。
比较简单吧。
难点在于,字符串会有空格,以及标点符号之类的,这些可以统统忽略。
注意可以在一开始,将所有的空格都替换掉。将字母都转为小写。
用两个指针(C/C++习惯上的描述)来标记头和尾。
如果是字母或者是数字,就比较这两个字符是否相等,如果相等,比较下一个。
如果不是字母或者数字,头指针或者尾指针递加或者递减。
一直判断到头尾指针相等为止。
Java AC
public class Solution { public boolean isPalindrome(String s) { if(s == null || "".equals(s.trim())){ return true; } s = s.trim().replaceAll("[' ']+","").toLowerCase(); int len = s.length(); int i = 0; int j = len-1; while(i <= j && i < len && j >= 0 ){ char start = s.charAt(i); char end = s.charAt(j); if (!(start >= 'a' && start <= 'z') && !(start >= '0' && start <= '9')) {i++;continue;} if (!(end >= 'a' && end <= 'z') && !(end >= '0' && end <= '9')) { j--; continue; } if(start != end){ return false; } i++; j--; } return true; }}
0 0
- [Leetcode] Valid Palindrome
- Leetcode: Valid Palindrome
- leetcode 55: Valid Palindrome
- [LeetCode] Valid Palindrome
- 【leetcode】Valid Palindrome
- LeetCode - Valid Palindrome
- [leetcode]Valid Palindrome
- [LeetCode]Valid Palindrome
- [Leetcode]Valid Palindrome
- LeetCode-Valid Palindrome
- [leetcode] Valid Palindrome
- LeetCode 125: Valid Palindrome
- LeetCode - Valid Palindrome
- leetcode之Valid Palindrome
- LeetCode | Valid Palindrome
- [leetcode]Valid Palindrome
- 【leetcode】Valid Palindrome
- LeetCode题解:Valid Palindrome
- WinDbg入门教程
- 贪心算法总结
- Make the Change
- (总结)Ubuntu Server 12.04 静态IP简洁配置
- 冒泡排序实现数字升序排序
- 【LeetCode】Valid Palindrome
- 如何使用telnet进行反向连接
- SQLite可视化管理工具汇总
- OpenJDK源码研究笔记(十六):在Java中使用JavaScript脚本语言
- 数据导入HBase最常用的三种方式及实践分析
- Effective Objective-C Item2: 头文件中最少引入其他头文件
- Android ViewPager使用详解
- 胖虎白话学习设计模式之专业术语存在的误解
- win7---虚拟wifi无法启动承载网络