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

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

示例 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. 验证回文串的更多相关文章

  1. 前端与算法 leetcode 125. 验证回文串

    目录 # 前端与算法 leetcode 125. 验证回文串 题目描述 概要 提示 解析 解法一:api侠 解法二:双指针 算法 传入测试用例的运行结果 执行结果 GitHub仓库 查看更多 # 前端 ...

  2. Java实现 LeetCode 125 验证回文串

    125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, ...

  3. leetcode 125. 验证回文串(python)

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  4. 力扣Leetcode 680. 验证回文字符串 Ⅱ

    验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca ...

  5. Leetcode 125.验证回文串 By Python

    思路 显然一个字符串不止包括字母和数字字符,所以我们可以先提取出来我们要进行比较的字符 还有一个问题是,字母是分大小写的,我们要统一大写或者统一小写,就是规范化 代码 class Solution(o ...

  6. LeetCode:验证回文串【125】

    LeetCode:验证回文串[125] 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...

  7. 力扣(LeetCode)验证回文串 个人题解

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  8. 力扣(LeetCode)验证回文串 个人题解(C++)

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  9. 125. 验证回文串--LeetCode

    来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/valid-palindrome 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. ...

随机推荐

  1. nginx 启动 + uwsgi + django

    https://www.cnblogs.com/chenice/p/6921727.html https://blog.csdn.net/Aaroun/article/details/78218131

  2. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  3. MSF基础应用

    实践目标 掌握metasploit的基本应用方式. 具体需要完成(1)ms08_067;(2)ms11_050:(3)Adobe(4)成功应用任何一个辅助模块. 报告 虚拟机:可以找我拷贝(我一般都在 ...

  4. Arrays的排序算法sort及方法使用

    Java工具包中的Arrays工具类里面有数组的快速排序算法. 源码如下: /** * Sorts the specified range of the array using the given * ...

  5. python --- 15 装饰器

    装饰器 一.原则,目的 开闭原则: 对功能的扩展开放,对代码的修改是封闭的(不可修改的)    目的:在目标函数前或后插入一段新的代码,不改变源代码 二.装饰器的通用语法 三.多个装饰器修饰同一个函数 ...

  6. Linux使用——Linux命令——Linux文件压缩和解压使用记录

    一:tar(可压缩可解压) tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户.但是tar本身只是一个文件打包工具,只有和其他工具组合时才具有压 ...

  7. C# asp:FileUpload上传文件使用JS实现预览效果

    js代码: <script type="text/javascript"> //下面用于图片上传预览功能 function setImagePreview() { va ...

  8. ubuntu18.04智能拼音候选字体调节方法

    原文链接:https://jingyan.baidu.com/article/1974b2895a737ef4b1f774f1.html 1.原来ibus框架的拼音输入法,候选字的大小,可以在终端命令 ...

  9. shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?

    shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...

  10. 【做题】zoj3649 Social Net——倍增

    这题是吴老师推荐的,于是我就去做了. 根据题意,在完成最大生成树后,对于树上从x到y的一条路径,求出最大的ck-cj(j<=k,ci为路径上第i个点的权值). 我一开始的想法是二分,记路径xy的 ...