i以后就在这里记录刷题笔记了,边看书,边刷Lleetcode 和 华为题没,厚积薄发!
--->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.
题目如上所述,今天上午的解答,测试用例还没完全通过,bug在于判断空字符时出错。
Code V1.0
bool isPalindrome(char* s)
{
char *start,*end;
int length;
int flag1 =false, flag2 = true;
length = strlen (s);
end = s + length - 1;
start = s;
if (s == NULL || *s == 0) return true;
while(start < end)
{
while( !( *start >= 'a' && *start <= 'z') && ! (*start >= 'A' && *start <= 'Z') ) start++;
while( !( *end >= 'a' && *end <= 'z') && ! (*end >= 'A' && *end <= 'Z') ) end--;
if ((*start == *end) || (*start - *end == 32) || (*end -*start == 32)) flag1 = true;
else flag2 = false;
start++;end--;
}
return flag1 ? true: false ;
}
还有很多需要修改的地方,待续