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

【LeetCode】- Valid Palindrome(正确的回文)

时间:2014-08-28 09:45:09      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   color   os   java   io   strong   for   ar   问题   

问题: ]

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.


[ 解法1]

先把有效的字母、数字准备好,然后遍历目标字符串,有效的字符放入buffer。

再比较buffer中的字符串和反转后的字符串,如果相同那就是回文,否则不是回文。

点评:这个解法可以被系统accept,但调用了太多api,性能一般。

public class Solution {

	public boolean isPalindrome(String s) {
		StringBuilder buffer = new StringBuilder();
		String tempStr = "abcdefghijklmnopqrstuvwxyz0123456789"; 
		char[] cArr = s.toCharArray();
		for (int i = 0; i < cArr.length; i++) { 
			if (tempStr.contains(String.valueOf(cArr[i]).toLowerCase())) {
				buffer.append(String.valueOf(cArr[i]).toLowerCase());
			}
		}
		String currentStr = buffer.toString();
		String reverseStr = buffer.reverse().toString();
		if (currentStr.equals(reverseStr)) {
			return true;
		}
		return false;
	}
	
}



【LeetCode】- Valid Palindrome(正确的回文)

标签:style   color   os   java   io   strong   for   ar   问题   

原文地址:http://blog.csdn.net/zdp072/article/details/38892917

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