(Easy) Valid Palindrome -LeetCode

Description:

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

Note: For the purpose of this problem, we define empty string as valid palindrome.

Example 1:

Input: "A man, a plan, a canal: Panama"
Output: true

Example 2:

Input: "race a car"
Output: false

Solution:

class Solution {
    public boolean isPalindrome(String s) {

         if(s == null || s.length() == 0 || s.length() == 1){
       return true;
   }

    int left = 0;
    int right = s.length() - 1;
    s = s.toLowerCase();

    while(left < right){
        if(!Character.isLetterOrDigit(s.charAt(left))){
            left++;
        }else if(!Character.isLetterOrDigit(s.charAt(right))){
            right--;
        }else if(s.charAt(left) != s.charAt(right)){
            return false;
        }else{
            left++;
            right--;
        }

    }

    return true;

    }

}

Solution 2

below solution is written by me previously. It would work for 99.9% cases, except for one that failed , which is a very very very very long string.

class Solution {
    public boolean isPalindrome(String s) {

        if(s ==null||s.trim().length()==0){
            return true;
        }
        String tmp = "";

        for(int i = 0; i<s.length(); i++){

            if( ((int) s.charAt(i) >=65 && (int)s.charAt(i)<=90)||((int) s.charAt(i) >=97 && (int)s.charAt(i)<=122)||((int) s.charAt(i) >=48 && (int)s.charAt(i)<=57))

                tmp = tmp+s.charAt(i);
        }
            System.out.println(tmp.trim());

        return Check( tmp.toLowerCase());

    }

    public boolean Check(String s){

        int start = 0;
        int end = s.length()-1;

        for(int i = start, j= end; i<j; i++, j--){

            if(s.charAt(i)!= s.charAt(j)){
                return false;
            }
        }

        return true;
    }
}

  

原文地址:https://www.cnblogs.com/codingyangmao/p/11425672.html

时间: 2024-11-06 09:55:16

(Easy) Valid Palindrome -LeetCode的相关文章

Valid Palindrome leetcode java

题目: 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

Valid Palindrome leetcode

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 th

[lintcode easy]Valid Palindrome

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. Example "A man, a plan, a canal: Panama" is a palindrome. "race a car" is not a palindrome. Note Have you consider that the s

(Easy) Valid Boomerang - LeetCode

Description: A boomerang is a set of 3 points that are all distinct and not in a straight line. Given a list of three points in the plane, return whether these points are a boomerang. Example 1: Input: [[1,1],[2,3],[3,2]] Output: true Example 2: Inpu

LeetCode(125)题解--Valid Palindrome

https://leetcode.com/problems/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"

【Leetcode】Valid Palindrome

题目链接:https://leetcode.com/problems/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 ca

LeetCode: Valid Palindrome [125]

[题目] 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

leetcode -day13 Valid Palindrome &amp; Triangle &amp; Pascal&#39;s Triangle I II

1.  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:

[leetcode] 1. Valid Palindrome

leetcode的第一题,回文数判断. 原题如下: 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