LeetCode 125 Valid Palindrome

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 125 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.

 

思路:

建立一个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的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode125. Valid Palindrome

leetcode 125. Valid Palindrome

Leetcode 125. Valid Palindrome

Leetcode 125: Valid Palindrome

LeetCode 125 Valid Palindrome

leetcode 125. Valid Palindrome ----- java