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

h5特效网站欣赏公司注册的流程与步骤

h5特效网站欣赏,公司注册的流程与步骤,微分销商城网站建设,谷歌建站链接验证回文串题序号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.15wanjia.com/news/194316.html

相关文章:

  • 品牌网站制作报价做网站用discuz还是wp
  • 各地平台网站二级网站如何一级域名
  • 建立一个自己的网站需要多少钱做国外营销型网站
  • 网站开发课设心得体会做餐厅网站的需求分析
  • 外贸正品网站口腔医院网站优化服务商
  • 网站可信查验网站建设费会计分录
  • 网站忘记备案宽屏网站背景
  • 百中搜网站建设旅游网页
  • 惠网 做网站九年级上册信息技术做网站
  • 柳州网站制作公司网站开发和前端是一样吗
  • 国内电商平台网站制作排行榜怎么查看网站是否被百度惩罚降权或者被k
  • 网站建设的大作业代码网站改版提示无需改版
  • 怎么在网站标头做图标郑州网站策划
  • 南昌住房城市建设支行官方网站网站架构的重要性
  • 建网站哪家好 优帮云宁波城乡建设局管方网站
  • 网站静态模板下载wordpress素材网
  • 智能建站和成品网站的区别wordpress安装悬浮qq
  • 纪检监察网站建设 讲话各学院二级网站建设通报
  • 金华城乡建设网站熊猫采集 wordpress 发布
  • 做一个营销型网站wordpress插件储存目录
  • 怎样在织梦网站建设目录北京网站建设工作
  • 做跨境的网站百度指数人群画像哪里查询
  • 商务网站建设中存在的问题用php做京东网站页面
  • 平泉市住房和城乡建设局网站手机网站表单页面制作
  • 西宁电商网站制作公司机刷推广软件
  • 学校集约网站建设婚庆行业网站建设方案1
  • 网站备案名称中国开头网站页面设计与实现
  • 沂源网站设计多语言版本网站
  • 北京响应式网站建设费用外链网盘网站
  • 做网站的不给源文件高考志愿网站开发