zoukankan      html  css  js  c++  java
  • [leedcode 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.

    public class Solution {
        //注意题目不考虑大小写,因此需要利用toLowerCase进行转换,定义一个函数判断字符是否是数值或字符,从头到尾开始向中间遍历
        public boolean isPalindrome(String s) {
            if(s==null||s.length()<=0) return true;
            s=s.toLowerCase();
            int left=0;
            int right=s.length()-1;
            while(left<right){
                while(left<right&&!isValid(s.charAt(left))){
                    left++;
                }
                while(left<right&&!isValid(s.charAt(right))){
                    right--;
                }
                if(left<right&&s.charAt(left)!=s.charAt(right))return false;
                left++;
                right--;
                
            }
            return true;
        }
        public boolean isValid(char a){
            if(a>='a'&&a<='z'||a>='0'&&a<='9')return true;
            return false;
        }
    }
  • 相关阅读:
    oracle序列
    json对象操作
    web项目中常出现的异常
    Builder设计模式
    getParameter("name")和 getParamterValues("name")的区别
    多条件查询生成sql语句
    安装pl/sql
    修复google浏览器
    创建JAVA项目的几个选项
    类的初始化顺序
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4674481.html
Copyright © 2011-2022 走看看