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

c++每日练习记录第1天

在这里插入图片描述
笔记:

  1. C++ 中,isalnum 函数用于检查一个字符是否是字母数字字符,isalnum 函数定义在 头文件中。
  2. 双指针法,双指针法是一种常用的算法技巧,特别适用于处理数组、字符串等线性数据结构中的问题。这种方法通常涉及到两个指针(或索引),它们以某种策略移动,从而简化了问题的解决过程。
  3. 利用字符的ascii码进行判断,ch >= ‘A’ && ch <= ‘Z’。

个人解答:

    bool isPalindrome(string s) {string s0;for(char ch:s){if (ch >= 'A' && ch <= 'Z') {ch = ch + 32; // 将大写字母转换为小写字母s0.append(string(1,ch));}else if((ch >= 'a' && ch <= 'z')||(ch >= '0' && ch <= '9')){s0.append(string(1,ch));}            else{continue;}}// 双指针法int n=s0.size();int left = 0, right = n - 1;while (left < right) {if (s0[left] != s0[right]) {return false;}++left;--right;}std::cout<<"s0="<<s0<<std::endl;return 1;}

标准写法:

class Solution {
public:bool isPalindrome(string s) {string sgood;for (char ch: s) {if (isalnum(ch)) {sgood += tolower(ch);}}int n = sgood.size();int left = 0, right = n - 1;while (left < right) {if (sgood[left] != sgood[right]) {return false;}++left;--right;}return true;}
};

http://www.mrgr.cn/news/4352.html

相关文章:

  • 网络安全学习路线图(2024版详解)
  • 什么是BERT?工程快速入门
  • 【SpringBoot】使用Spring Boot、MyBatis-Plus和MySQL来实现增删改查操作,并添加自定义SQL查询。
  • Ansible可视化管理之web界面集成使用探究(未完待续)
  • 【PHPSTORM 使用非挂起断点】
  • SpringBootWeb 篇-深入了解 SpringBoot + Vue 的前后端分离项目部署上线与 Nginx 配置文件结构
  • echo “Hello, UDP!“ | nc -u -w1 192.168.1.100 1234 里面有换行符
  • 微前端架构下的性能优化:模块化开发与服务网格的协同
  • 通过https方式访问内网IP
  • Centos安装Jenkins教程详解版(JDK8+Jenkins2.346.1)
  • 深入浅出:理解TCP传输控制协议的核心概念
  • 使用SQLite进行Python简单数据存储的线程安全解决方案
  • 【JAVA多线程】CompletableFuture原理剖析
  • 谷歌云AI新作:CROME,跨模态适配器高效多模态大语言模型
  • [godot] 采用状态机时,如何处理攻击时移动?如“冲撞”
  • 【vue3】组件通信
  • 【大模型理论篇】关于LLaMA 3.1 405B以及小模型的崛起
  • Nginx: 配置项之server_name指令用法梳理
  • 什么是零拷贝?以及数据在内存中的流动途径
  • 手撕⼆叉树——堆