力扣(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;
}
运行结果

力扣(LeetCode)125. 验证回文串的更多相关文章
- 前端与算法 leetcode 125. 验证回文串
		目录 # 前端与算法 leetcode 125. 验证回文串 题目描述 概要 提示 解析 解法一:api侠 解法二:双指针 算法 传入测试用例的运行结果 执行结果 GitHub仓库 查看更多 # 前端 ... 
- Java实现 LeetCode 125 验证回文串
		125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, ... 
- leetcode 125. 验证回文串(python)
		给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ... 
- 力扣Leetcode 680. 验证回文字符串 Ⅱ
		验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca ... 
- Leetcode 125.验证回文串 By Python
		思路 显然一个字符串不止包括字母和数字字符,所以我们可以先提取出来我们要进行比较的字符 还有一个问题是,字母是分大小写的,我们要统一大写或者统一小写,就是规范化 代码 class Solution(o ... 
- LeetCode:验证回文串【125】
		LeetCode:验证回文串[125] 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ... 
- 力扣(LeetCode)验证回文串 个人题解
		给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ... 
- 力扣(LeetCode)验证回文串 个人题解(C++)
		给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ... 
- 125. 验证回文串--LeetCode
		来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/valid-palindrome 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. ... 
随机推荐
- nginx 启动 + uwsgi + django
			https://www.cnblogs.com/chenice/p/6921727.html https://blog.csdn.net/Aaroun/article/details/78218131 
- numpy 学习笔记
			numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ... 
- MSF基础应用
			实践目标 掌握metasploit的基本应用方式. 具体需要完成(1)ms08_067;(2)ms11_050:(3)Adobe(4)成功应用任何一个辅助模块. 报告 虚拟机:可以找我拷贝(我一般都在 ... 
- Arrays的排序算法sort及方法使用
			Java工具包中的Arrays工具类里面有数组的快速排序算法. 源码如下: /** * Sorts the specified range of the array using the given * ... 
- python --- 15    装饰器
			装饰器 一.原则,目的 开闭原则: 对功能的扩展开放,对代码的修改是封闭的(不可修改的) 目的:在目标函数前或后插入一段新的代码,不改变源代码 二.装饰器的通用语法 三.多个装饰器修饰同一个函数 ... 
- Linux使用——Linux命令——Linux文件压缩和解压使用记录
			一:tar(可压缩可解压) tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户.但是tar本身只是一个文件打包工具,只有和其他工具组合时才具有压 ... 
- C# asp:FileUpload上传文件使用JS实现预览效果
			js代码: <script type="text/javascript"> //下面用于图片上传预览功能 function setImagePreview() { va ... 
- ubuntu18.04智能拼音候选字体调节方法
			原文链接:https://jingyan.baidu.com/article/1974b2895a737ef4b1f774f1.html 1.原来ibus框架的拼音输入法,候选字的大小,可以在终端命令 ... 
- shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?
			shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ... 
- 【做题】zoj3649 Social Net——倍增
			这题是吴老师推荐的,于是我就去做了. 根据题意,在完成最大生成树后,对于树上从x到y的一条路径,求出最大的ck-cj(j<=k,ci为路径上第i个点的权值). 我一开始的想法是二分,记路径xy的 ... 
