zoukankan      html  css  js  c++  java
  • LeetCode--Valid Palindrome

    Valid Palindrome   

    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


    题目中是对数字和字母进行回文判断,而对其他的字符 ! ? . , " ; : @ # % $ * - / 等都是忽略的,所以有个问题,就是要忽略掉这些乱七八糟的东西,而一般的加条件进行判断也不太好用,

    看到讨论区有 用Character.isLetterOrDigit(ch)来进行筛选,很厉害了。

    class Solution {
        public boolean isPalindrome(String s) {
            if(s == null || s.length() == 0) return true;
            StringBuilder sb = new StringBuilder();
            for(int i = 0; i < s.length(); i++){
                if(Character.isLetterOrDigit(s.charAt(i))){
                    sb.append(s.charAt(i));
                }
            }
            String str = sb.toString().toLowerCase();
            String res = sb.reverse().toString().toLowerCase();
            if(str.equals(res)) return true;
            return false;
        }
    }
    

      

    那句话可以这样代替,很笨

    class Solution {
        public boolean isPalindrome(String s) {
            if(s == null || s.length() == 0) return true;
            StringBuilder sb = new StringBuilder();
            for(int i = 0; i < s.length(); i++){
                if((s.charAt(i) >= 'a' && s.charAt(i) <= 'z') || (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') || (s.charAt(i) >= '0' && s.charAt(i) <= '9') ){
                    sb.append(s.charAt(i));
                }
            }
            String str = sb.toString().toLowerCase();
            String res = sb.reverse().toString().toLowerCase();
            if(str.equals(res)) return true;
            return false;
        }
    }
    

      

  • 相关阅读:
    读取xml文件(可执行文件根目录debug)
    c# winform textbox与combox让用户不能输入
    枚举类型
    值类型与引用类型
    error: failed to push some refs to 'https://git.oschina.net/bluede/TuShuGuanLi.g it'
    left join on 和where中条件的放置位置
    left join、right join、inner join、full join
    Union、Union All、Intersect、Minus
    分层设计的好处
    Hibernate查询方式
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/9120080.html
Copyright © 2011-2022 走看看