LeetCode-125.Valid Palindrome
来源:互联网 发布:网页牛牛游戏源码 编辑:程序博客网 时间:2024/05/21 07:01
https://leetcode.com/problems/valid-palindrome/
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.
“手动”判断public class Solution { public bool IsPalindrome(string s) { if (s == null) return true; int p1 = 0, p2 = s.Length - 1; while (p1<p2) { while (!isAlphanumeric(s[p1]) && p1 < p2) p1++; while (!isAlphanumeric(s[p2]) && p1 < p2) p2--; if (!((s[p1] == s[p2])|| isEqual(s[p1],s[p2]) || isEqual(s[p2], s[p1]))) return false; p1++; p2--; } return true; } private bool isAlphanumeric(char c) { if ((48 <= c && c <= 57) || (65 <= c && c <= 90) || (97 <= c && c <= 122)) return true; return false; } private bool isEqual(char c1, char c2) { if (65 <= c1 && c1 <= 90 && c2 == c1 + 32) return true; return false; }}
使用内置char函数
public bool IsPalindrome(string s) { if (s == null) return true; int p1 = 0, p2 = s.Length - 1; while (p1<p2) { while (!Char.IsLetterOrDigit(s[p1]) && p1 < p2) p1++; while (!Char.IsLetterOrDigit(s[p2]) && p1 < p2) p2--; if (Char.ToLower(s[p1])!= Char.ToLower(s[p2])) return false; p1++; p2--; } 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
- HDU-1166- 敌兵布阵(线段树 插点问线)
- 宏函数
- 添加vMotion网络的VMkernel端口组
- ant 入门使用指南
- JAVA Socket 编程
- LeetCode-125.Valid Palindrome
- 浅谈Struts2与Webwork的不同和相同点
- Hadoop和大数据:60款顶级开源工具
- 让EditText不能自动获取焦点
- 八大排序之插入排序
- iReport各块区域的作用
- Leiningen使用
- 比较二进制工具哪家强?
- GCD串行并发同步异步基本概念