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

LeetCode ---Valid Palindrome

时间:2015-05-11 12:58:19      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:leetcode   valid palindrome   

题目大意:给出一个字符串,要求只考虑字符串中的字母和数字,判断该字符串是否是回文。注意:空串是回文。

算法思想:首先将字符串中的大写字母全部转化为小写字母,然后分别设置两个游标Left ,right。开始扫描字符串如果当前字符不是字母或数字则跳过,若是则比较,左右游标指向的字符是否相同,如果不想同则返回FALSE,当扫描完整个字符串的时候返回TRUE。

代码如下:

class Solution {
public:
    bool isPalindrome(string s) {
           
            for(int i=0;i!=s.size();i++){
                if(isalpha(s[i]))
                    s[i]=tolower(s[i]);
            }
            int left=0,right=s.size();
         while(left<right){     
             if(!isalnum(s[left]))
                 ++left;
             else if(!isalnum(s[right]))
                 --right;
             else if(s[left]!=s[right]) return false;
             else {left++;right--;}
               
         
         
         }
         return true;
    }
};


LeetCode ---Valid Palindrome

标签:leetcode   valid palindrome   

原文地址:http://blog.csdn.net/wzg272365960/article/details/45642699

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