leetCode3.1(Valid Palindrome)

来源:互联网 发布:国外网络代理 编辑:程序博客网 时间:2024/06/10 06:35

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 static boolean solution_3_1(String str){String temp=str.toLowerCase();if(temp.equals("")){return true;}else{int left=0;int right=temp.length()-1;while(left<right){while(!isvalid(temp.charAt(left)))left++;while(!isvalid(temp.charAt(right)))right--;if(temp.charAt(left)==temp.charAt(right)){char c1=temp.charAt(left);char c2=temp.charAt(right);left++;right--;}else{return false;}}return true;}}private static boolean isvalid(char c){if(c>='a'&&c<='z')return true;if(c>='0'&&c<='9')return true;return false;}



0 0