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

做网站的行情工商企业注册网入口官网

做网站的行情,工商企业注册网入口官网,影楼微网站建设,wordpress 回车链接验证回文串题序号125类型字符串解题方法双指针法难度简单 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xf…
链接验证回文串
题序号125
类型字符串
解题方法双指针法
难度简单

题目

  • 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

  • 字母和数字都属于字母数字字符。

  • 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。

  • 示例 1:

    • 输入: s = “A man, a plan, a canal: Panama”
    • 输出:true
    • 解释:“amanaplanacanalpanama” 是回文串。
  • 示例 2:

    • 输入:s = “race a car”
    • 输出:false
    • 解释:“raceacar” 不是回文串。
  • 示例 3:

    • 输入:s = " "
    • 输出:true
    • 解释:在移除非字母数字字符之后,s 是一个空字符串 “” 。由于空字符串正着反着读都一样,所以是回文串。
  • 提示:

    • 1 <= s.length <= 2 * 105
    • s 仅由可打印的 ASCII 字符组成

解题

双指针法

  1. 核心点:忽略大小写、忽略非字母数字字符;
  2. 时间复杂度:O(n);
  3. 空间复杂度:O(1);
  4. c++ 判断字符串是否只包含字母和数字函数:isalnum()
  5. c++ 字符串比较函数:tolower()
  6. c++实现算法:
class Solution {
public:bool isPalindrome(string s) {int left = 0, right = s.size() - 1;while (left < right) {// 跳过非字母和数字字符if (!isalnum(s[left])) {left++;continue;}if (!isalnum(s[right])) {right--;continue;}// 比较字符(忽略大小写)if (tolower(s[left]) != tolower(s[right])) {return false;}// 移动指针left++;right--;}return true;}
};
  1. 演示:以示例2为例
    在这里插入图片描述

完整 c++ demo

#include <iostream>
#include <string>
#include <cctype> // 用于isalnum()
using namespace std;class Solution {
public:bool isPalindrome(string s) {int left = 0, right = s.size() - 1;while (left < right) {// 跳过非字母和数字字符if (!isalnum(s[left])) {left++;continue;}if (!isalnum(s[right])) {right--;continue;} // 比较字符(忽略大小写)if (tolower(s[left]) != tolower(s[right])) {return false;}// 移动指针left++;right--;}return true;}
};int main() {Solution sol;// 测试1string test1 = "A man, a plan, a canal: Panama";cout << "Test 1: " << test1 << endl;cout << "Is palindrome? " << (sol.isPalindrome(test1) ? "Yes" : "No") << endl;// 测试2string test2 = "race a car";cout << "Test 2: " << test2 << endl;cout << "test2 size: " << test2.size() << endl;cout << "Is palindrome? " << (sol.isPalindrome(test2) ? "Yes" : "No") << endl;// 测试3string test3 = " ";cout << "Test 3: " << test3 << endl;cout << "Is palindrome? " << (sol.isPalindrome(test3) ? "Yes" : "No") << endl;// 测试4string test4 = "ab_a";cout << "Test 4: " << test4 << endl;cout << "Is palindrome? " << (sol.isPalindrome(test4) ? "Yes" : "No") << endl;return 0;
}
http://www.yayakq.cn/news/836047/

相关文章:

  • 网页设计优化网站建设可以吗桂林两江四湖夜游时间
  • 湖北海厦建设有限公司网站网站设计公司官网
  • 商城网站建设计划书哪个网站可以看免费的电视剧
  • 网站开发培训成都网站 目录 结构
  • 涿州做网站的公司网站文件怎么做
  • 公司建设网站注意事项网站宽度960
  • 网页制作与网站建设报告滕州市做网站
  • 购物车 信息技术分院网站后台设计课题组seo去哪里培训
  • 重庆房地产网站建设php空间放两个网站
  • 企业网站建设试题中山小型网站建设公司
  • 建行互联网站网站形式的设计
  • 家教网站建设模板广州万网建网站
  • 和小男生做的网站办公管理系统软件
  • 牛商营销型网站建设方案网站 相对路径
  • 首钢建设二建设公司网站网站空间换了 使用原有域名
  • 二级网站建设方案模板网站开发到上线 多久
  • 重庆市制作网站公司哪家好东莞市住房和城乡建设局门户网站
  • 自己创建网站怎么得流量钱福建建设工程注册中心网站
  • 企业如何做网站推广外贸建站新闻资讯
  • 给网站网站做推广犯法承接网络推广外包业务
  • 网站目录结构怎么做重庆网站建
  • 电商站点是什么意思昆明网络推广公司
  • 宠物网站的设计与实现wordpress 询价按钮
  • 深圳做企业网站的公司竭诚网络网站建设价格
  • 音乐网站建设规划制作校园网站
  • 网站seo快排软件搜索引擎在哪里获取网站
  • 电子商务网站建设如何实施网站开发 哪些文档
  • 网站备备份教程找到网站永久域名
  • 横琴新区公共建设局网站建设网站需要的资质证书
  • 专门做有机食品的网站顺通建设集团有限公司 网站