当前位置: 首页 > news >正文

网站开发工作内容seo学途论坛网

网站开发工作内容,seo学途论坛网,企业信息网站模板,阳江做网站一、需求 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: tru…

一、需求

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

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

示例 1:

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

示例 2:

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

二、字符串遍历

2.1  思路分析

  1. 遍历字符串,将字符串中的数字,大小写字母一律转换成大写字母,存储到一个新的字符串中;
  2. 对这个新的字符串反转,比较这两个字符串是否相同即可;
  3. 在代码实现2中,我们通过使用相关api对代码实现1进行简化;

2.2  代码实现1

class Solution {public boolean isPalindrome(String s) {StringBuilder sb = new StringBuilder();for(int i = 0; i < s.length(); i++) {if(s.charAt(i) >= '0' && s.charAt(i) <= '9') {sb.append(s.charAt(i));} else if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z') {sb.append((char)(s.charAt(i) - 32));} else if(s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {sb.append(s.charAt(i));}}String s1 = sb.toString();String s2 = new StringBuilder(s1).reverse().toString();return s1.equals(s2);}
}

2.3  代码实现2

class Solution {public boolean isPalindrome(String s) {StringBuilder sb = new StringBuilder();for(int i = 0; i < s.length(); i++) {if(Character.isLetterOrDigit(s.charAt(i))) {sb.append(Character.toUpperCase(s.charAt(i)));}}String s1 = new StringBuilder(sb).reverse().toString();String s2 = sb.toString();return s1.equals(s2);}
}

2.4  复杂度分析

  • 时间复杂度为O(N);
  • 空间复杂度为O(N);

三、双指针法

3.1  思路分析

  1. 如方法2中所说,若串非空,我们得到只含有字母及数字的字符串后,要验证该字符串是否为回文串;
  2. 采用双指针,分别指向字符串的首尾,并向中间靠拢,当两个指针相遇或者相越过时,即可判断为回文串;

3.2  代码实现

class Solution {public boolean isPalindrome(String s) {StringBuilder sb = new StringBuilder();for(int i = 0; i < s.length(); i++) {if(Character.isLetterOrDigit(s.charAt(i))) {sb.append(Character.toUpperCase(s.charAt(i)));}}s = sb.toString();int begin = 0, end = s.length() - 1;while(begin < end) {if(s.charAt(begin) == s.charAt(end)) {begin++;end--;} else {return false;}}return true;}
}

3.3  复杂度分析

  • 时间复杂度为O(N);
  • 空间复杂度为O(N);

四、双指针优化

4.1  思路分析

  1. 在方法2的基础上,我们可以原地操作,即将双指针在原字符串上遍历,需要注意的是指针移动时,要略过非数字及非字母字符;

4.2  代码实现

class Solution {public boolean isPalindrome(String s) {int begin = 0, end = s.length() - 1;while(begin < end) {while(begin < end && !Character.isLetterOrDigit(s.charAt(begin))) {begin++;}while(begin < end && !Character.isLetterOrDigit(s.charAt(end))) {end--;}if(Character.toUpperCase(s.charAt(begin)) != Character.toUpperCase(s.charAt(end))) {return false;}begin++;end--;}return true;}
}

4.3  复杂度分析

  • 时间复杂度为O(N);
  • 空间复杂度为O(1);

五、学习地址

作者:LeetCode-Solution

链接:https://leetcode-cn.com/problems/valid-palindrome/solution/yan-zheng-hui-wen-chuan-by-leetcode-solution/

http://www.lbrq.cn/news/2512729.html

相关文章:

  • 西安网站建设哪家好重庆二级站seo整站优化排名
  • 韩国做色情网站违法不网页怎么优化
  • 做网站还用注册商标吗sem竞价推广托管
  • 网站培训机构有哪些优化大师优化项目有哪些
  • 做外贸流程详细步骤seo研究中心倒闭
  • 网站专门做冻品的网页制作素材模板
  • 广西执业药师培训网站网站网络营销
  • 网站建设的具体过程seo管理系统创作
  • 畅销营销型网站建设电话百度网盘app下载安装手机版
  • 嘉兴建设局网站手机营销软件
  • 义乌网站建设现状潮州seo建站
  • 武汉网站seo公司免费网站免费
  • 个人网站设计欣赏成都公司建站模板
  • 如何用2级域名做网站qq群推广网站免费
  • 人大网站建设存在问题广告设计与制作需要学什么
  • 谁有专门做外挂的网站百度竞价渠道代理
  • 网站聊天室怎样做炫彩马甲朋友圈推广怎么收费
  • 大学毕业做网站插画师好吗如何在网站上推广自己的产品
  • 昆明做网站外包广告传媒公司主要做什么
  • 杭州做网站多少钱地推扫码平台
  • 新开传奇网站合击黑马it培训班出来现状
  • 商城网站源码下载昆山seo网站优化软件
  • 深圳网站建设哪家比较好江苏网页设计
  • 武汉建设网官方网站标题seo是什么意思
  • 苏州做网站推广的成都做整站优化
  • 如何做网站运营呢关键词seo培训
  • 北京网站开发优选ls20227推广计划方案模板
  • wordpress 插件复制山西seo
  • 搜集关键词的网站站长统计app软件
  • 网站设计方式如何进行搜索引擎优化 简答案
  • STM32--DHT11(标准库)驱动开发
  • 车载刷写架构 --- 刷写思考扩展
  • 青少年软件编程图形化Scratch等级考试试卷(二级)2025年6月
  • 电脑没有声音了怎么恢复 快速解决音频故障
  • 绿算技术携手昇腾发布高性能全闪硬盘缓存设备,推动AI大模型降本增效
  • Unity Catalog与Apache Iceberg如何重塑Data+AI时代的企业数据架构