博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode】字符串初级算法-验证回文字符串
阅读量:5834 次
发布时间:2019-06-18

本文共 772 字,大约阅读时间需要 2 分钟。

题目描述

验证回文字符串

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

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

示例 1:

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

示例 2:

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

思路

用删除非数字和非字母的字符,然后首尾比较。

方法一:

str.replace(/\W*|\D*/g,"")    \W 不是字母\D 不是数字*  表示任意个字符(包括0个)| 表示或g 全局匹配replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串/\W*|\D*/g 不是字母或者不是字符的任意个字符

方法二:

var str_1 = str.replace(/[^0-9a-z]/g,"");  [^0-9a-z] 查找任何不在方括号之间的字符。

JavaScript实现

/** * @param {string} s * @return {boolean} */var isPalindrome = function(s) {    let str = s.toLowerCase();    // toLowerCase转为小写,toUpperCase转为大写    var str_1 = str.replace(/\W*|\D*/g,"");    for(let i = 0; i < str_1.length / 2; i++){        if(str_1[i] != str_1[str_1.length - i - 1]){           return false;           }    }    return true;};

转载地址:http://fuycx.baihongyu.com/

你可能感兴趣的文章
《移动App测试的22条军规》—第1章1.1节移动App的特性
查看>>
《乐在C语言》一1.3 如何学好程序设计
查看>>
《众妙之门——网页设计专业之道》——1.3 传统印刷设计的影响
查看>>
怎样使用linux的iptables工具进行网络共享
查看>>
《HTML5与CSS3实战指南》——导读
查看>>
《趣题学算法》—第1章1.4节图的性质
查看>>
《Unreal Engine 4蓝图可视化编程》一第1章 使用蓝图进行对象交互
查看>>
《Spring 5 官方文档》18. Web MVC 框架(七)
查看>>
创建文件,并格式化输出最后修改时间
查看>>
《MINECRAFT我的世界 新手完全攻略(第3版)》一第1章 入手指南
查看>>
Java视角理解系统结构
查看>>
《QTP自动化测试权威指南(第二版)》—第2章2.2节索引标签(Index Tab)
查看>>
Java中用字节数组表示整数和用整数表示字节数组
查看>>
《Axure原型蓝图》一1.2 “Adaptive Views”(自适应视图)
查看>>
基于PostgreSQL和地理位置信息打造的洞察平台 - CARTO
查看>>
navicat工具来将SQL Server数据迁移到MySQL
查看>>
java ME、java SE和java EE的区别
查看>>
《C语言及程序设计》实践参考——文件中的符号个数
查看>>
centos7 升级python 3.4
查看>>
【Spark Summit EU 2016】汽车研发中基于Spark的时间序列分析
查看>>