码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode(125)题解--Valid Palindrome

时间:2015-09-19 18:09:40      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

 

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.

思路:

easy.

AC代码:

 1 class Solution {
 2 public:
 3     bool isPalindrome(string s) {
 4         int a=0,b=s.size()-1;
 5         while(a<b){
 6             if(!((s[a]>=a&&s[a]<=z)||(s[a]>=A&&s[a]<=Z)||(s[a]>=0&&s[a]<=9))){
 7                 a++;
 8                 continue;
 9             }
10             if(!((s[b]>=a&&s[b]<=z)||(s[b]>=A&&s[b]<=Z)||(s[b]>=0&&s[b]<=9))){
11                 b--;
12                 continue;
13             }
14             if((s[a]>=a&&s[a]<=z)){
15                 if((s[a]!=s[b])&&(s[a]+A-a!=s[b])){
16                     return false;
17                 }
18             }
19             else if((s[a]>=A&&s[a]<=Z)){
20                 if((s[a]!=s[b])&&(s[a]!=s[b]+A-a)){
21                     return false;
22                 }
23             }
24             else{
25                 if(s[a]!=s[b]){
26                     return false;
27                 }
28             }
29             a++;
30             b--;
31         }
32         return true;
33     }
34 };

 

LeetCode(125)题解--Valid Palindrome

标签:

原文地址:http://www.cnblogs.com/aezero/p/4821729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!