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

LeetCode 125 Valid Palindrome

时间:2016-09-04 17:21:02      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

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.

 

思路:

建立一个StringBuffer, 检查字符串,将字母与数字放入StringBuffer中,检查是否为回文构型。

 

解法:

 1 public class Solution
 2 {
 3     public boolean isPalindrome(String s)
 4     {
 5         if(s == null || s.length() == 0 || s.length() == 1)
 6             return true;
 7 
 8         StringBuffer strbuf = new StringBuffer();
 9 
10         for(int i = 0; i < s.length(); i++)
11         {
12             char ch = s.charAt(i);
13 
14             if(Character.isLetter(ch) || Character.isDigit(ch))
15                 strbuf.append(Character.toUpperCase(ch));
16         }
17 
18         int left = 0;
19         int right = strbuf.length() - 1;
20         while(left < right)
21         {
22             if(strbuf.charAt(left) != strbuf.charAt(right))
23                 return false;
24             left++;
25             right--;
26         }
27 
28         return true;
29     }
30 }

 

LeetCode 125 Valid Palindrome

标签:

原文地址:http://www.cnblogs.com/wood-python/p/5839688.html

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