• 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 {
        
        /**
         * 判断某位是否是alphanumeric (字母or数字)
         * 
         */
        public boolean isAlphanumeric(char c){
            
            if(c>='a'&&c<='z'){
                return true;
            }
            if(c>='0'&&c<='9'){
                return true;
            }
            if(c>='A'&&c<='Z'){
                return true;
            }
        
            return false;
        }
        
        
        public boolean isPalindrome(String s) {
            List<String> list1 = new ArrayList<String>();
            char[] list2 = s.toCharArray();
            int size2 = list2.length;
            for(int i=0;i<size2; i++){
                
                if(isAlphanumeric(list2[i])){
                    String temp = String.valueOf(list2[i]).toLowerCase();//统一转换成小写字母
                    list1.add(temp);
                }
            }
            
            int size1 = list1.size();
            
            if(size1==0){
                return true;
            }
            
            for(int j=0;j<size1/2;j++){
                if(!list1.get(j).equals(list1.get(size1-1-j))){
                    return false;
                }
            }
            return true;
        }
    }
  • 相关阅读:
    DNS域名解析抓包分析
    Redis实现分布式锁
    Redis内存回收淘汰策略
    Redis缓存雪崩、击穿、穿透
    Redis内存碎片
    C++ 友元
    C++ const
    C++构造函数与析构函数调用虚函数
    C++类成员变量的初始化顺序
    C++ 类对象和类指针
  • 原文地址:https://www.cnblogs.com/mrpod2g/p/4251125.html
Copyright © 2020-2023  润新知