zoukankan      html  css  js  c++  java
  • 力扣(LeetCode)125. 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: "A man, a plan, a canal: Panama"
    输出: true

    示例 2:

    输入: "race a car"
    输出: false

    java知识点

    Java 字符串拼接,推荐使用StringBuilder

    String 本身没有反转函数 ,但是StringBuilder有 reverse()

    String s = "abcd";

    StringBuilder builder = new StringBuilder(s);

    System.out.println(builder.reverse().toString()); // 输出 dcba

    Java版

    class Solution {
        public boolean isPalindrome(String s) {
            s = s.toLowerCase(); //全部转换为小写
            // 使用String 拼接,如果单词太多的话,会提示时间超时,使用StringBuilder就不会。
            StringBuilder builder = new StringBuilder();
            int i,len = s.length();
            //变成只有小写字母和数字的字符串
            for(i=0;i<len;i++) {
                char c = s.charAt(i);
                if((c>='0' && c<='9') || (c>='a' && c<='z')) {
                    builder.append(c);
                }
            }
            return builder.toString().equals(builder.reverse().toString());
        }
    }
    

    C语言知识点

    C语言 strlen() tolower() toupper()

    char c[]="aBc";

    int len = strlen(c); // len长为3

    tolower(c); // "aBc" 变成 "abc"

    toupper(c); // "aBc" 变成 "ABC"

    C语言版

    bool isPalindrome(char* s) {
        int i,k=0,len =strlen(s);
        char *ss = (char *)malloc(sizeof(char)*len);
        //拼接一个只有小写字母和数字的字符串
        for(i=0;i<len;i++) {
            if((s[i]>='0' && s[i]<='9') || (tolower(s[i])>='a' && tolower(s[i])<='z' )) {
                ss[k++]=tolower(s[i]);
            }
        }
        //判断是否回文
        for(i=0;i<k/2;i++) {
            if(ss[i]!=ss[k-i-1]) {
                return false;
            }
        }
        return true;
    }
    

    运行结果

  • 相关阅读:
    python基础#1
    shell脚本基础练习题
    shell计算100以内加法
    shell脚本添加用户
    python学习ing
    框架
    前端
    python基础之数据类型-面向对象
    python四种列表的插入方法及其效率
    Charles高阶操作
  • 原文地址:https://www.cnblogs.com/lick468/p/10658046.html
Copyright © 2011-2022 走看看