LeetCode Valid Palindrome
来源:互联网 发布:mysql root空密码登录 编辑:程序博客网 时间:2024/06/07 13:41
题目:
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.
class Solution {public:bool isPalindrome(string s) {int n = s.size();if (n == 0)return true;int i = 0, j = n-1;while (i < n && j >= 0) {if (isValid(s[i]) && isValid(s[j])) {if (isSame(s[i], s[j])) {i++, j--;continue;}else return false;}if (!isValid(s[i]))i++;if (!isValid(s[j]))j--;}return true;}private:bool isValid(char ch) {if ('0' <= ch && ch <= '9')return true;if ('a' <= ch && ch <= 'z')return true;if ('A' <= ch && ch <= 'Z')return true;return false;}bool isSame(char ch1, char ch2) {if (ch1 == ch2)return true;if ('a' <= ch1 && ch1 <= 'z')return ch1 - 'a' + 'A' == ch2;if ('A' <= ch1 && ch1 <= 'Z')return ch1 - 'A' + 'a' == ch2;return false;}};
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
- DLUTOJ 1174
- java中的值传递和引用传递
- 黑马程序员 (高新技术)Myeclipse基本介绍与jdk1.5部分新特性学习总结
- Hive Cli<转>
- 关于Eclipse代码补全的一点小技巧
- LeetCode Valid Palindrome
- java虚拟机结构与机制
- VC++程序自己结束自己
- Git操作基本命令
- uva 10763 - Foreign Exchange
- 输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。
- Ubuntu 12.04常用快捷键
- vim中的sort和unique
- 火狐浏览器快捷键