【字符串】125. 验证回文串

题目:

解法:

设置两个指针,一前以后进行扫描判断。

 1 class Solution {
 2 public:
 3 
 4       //判断是否为合法,即是否为数字和字母
 5     bool isAlphanumeric(char &c)
 6     {
 7         if(c >= 'A' && c <= 'Z')
 8         {
 9             c += 32;//大写字母转化为小写字母
10             return true;
11         }
12         else if(c >= '0' && c <= '9')
13         {
14             return true;
15         }
16         else if (c >= 'a' && c <= 'z')
17         {
18             return true;
19         }
20         else
21         {
22             return false;
23         }
24 
25         return false;
26     }
27     bool isPalindrome(string s)
28     {
29         int i = 0;
30         int j = s.length() - 1;
31         while(i < j)
32         {
33             if(!isAlphanumeric(s[i]))
34             {
35                 i++;
36             }
37             else if(!isAlphanumeric(s[j]))
38             {
39                 j--;
40             }
41             else
42             {
43                 if(s[i++] != s[j--])
44                 {
45                     return false;
46                 }
47             }
48         }
49         return true;
50     }
51 };

猜你喜欢

转载自www.cnblogs.com/ocpc/p/12823034.html