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

字符串——OJ题

在这里插入图片描述


📘北尘_:个人主页

🌎个人专栏:《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》

☀️走在路上,不忘来时的初心

文章目录

  • 一、字符串相加
    • 1、题目讲解
    • 2、思路讲解
    • 3、代码实现
  • 二、仅仅反转字母
    • 1、题目讲解
    • 2、思路讲解
    • 3、代码实现
  • 三、字符串中第一个唯一字符
    • 1、题目讲解
    • 2、思路讲解
    • 3、代码实现
  • 四、字符串最后一个单词的长度
    • 1、题目讲解
    • 2、思路讲解
    • 3、代码实现
  • 五、验证回文串
    • 1、题目讲解
    • 2、思路讲解
    • 3、代码实现

一、字符串相加

1、题目讲解

在这里插入图片描述

2、思路讲解

在这里插入图片描述

3、代码实现

class Solution {
public:string addStrings(string num1, string num2) {int end1=num1.size()-1,end2=num2.size()-1;int next=0;string m;while(end1>=0 || end2>=0 ){int v1=0,v2=0;if(end1>=0)v1=num1[end1--]-'0';if(end2>=0)v2=num2[end2--]-'0';int ret=v1+v2+next;next=ret/10;ret%=10;m+=ret+'0';}if(next==1)m+='1';reverse(m.begin(),m.end());return m;   } 
};

二、仅仅反转字母

1、题目讲解

在这里插入图片描述

2、思路讲解

在这里插入图片描述

3、代码实现

class Solution {
public:bool letter(char ch){if(ch>='a' && ch<='z') return true;if(ch>='A' && ch<='Z') return true;else return false;} string reverseOnlyLetters(string s) {int end=s.size()-1,begin=0;while(begin<end){while(begin<end && !letter(s[end])){--end;}while(begin<end && !letter(s[begin])){++begin;}swap(s[begin++],s[end--]);}return s;}     
};

三、字符串中第一个唯一字符

1、题目讲解

在这里插入图片描述

2、思路讲解

在这里插入图片描述

3、代码实现

class Solution {
public:int firstUniqChar(string s) {int count[256]={0};int size=s.size();for(int i=0;i<size;i++){count[s[i]]++;}int n=-1;for(int i=0;i<size;i++){if(count[s[i]]==1) {n=i;break;}}return n;}
};

四、字符串最后一个单词的长度

1、题目讲解

在这里插入图片描述

2、思路讲解

在这里插入图片描述

3、代码实现

#include <iostream>
using namespace std;int main() 
{string s1;getline(cin,s1);int i=s1.rfind(' ');if(i!=string::npos)cout<<s1.size()-(i+1)<<endl;else cout<<s1.size();return 0;
}

五、验证回文串

1、题目讲解

在这里插入图片描述

2、思路讲解

在这里插入图片描述

3、代码实现

class Solution {
public:bool isPalindrome(string s) {int n=s.size();string s1;for(int i=0;i<n;i++){if(s[i]>='a' && s[i]<='z')s1+=s[i];else if(s[i]>='A' && s[i]<='Z')s1+=s[i]+32;else if(s[i]>='0' && s[i]<='9')s1+=s[i];  }int end=s1.size();for(int i=0;i<end/2;i++){if(s1[i]!=s1[end-i-1]){return false;}}return true;}
};

http://www.lryc.cn/news/260823.html

相关文章:

  • Linux---cp和mv命令选项
  • LVS负载均衡器(nat模式)+nginx(七层反向代理)+tomcat(多实例),实现负载均衡和动静分离
  • 【深度学习】TensorFlow深度模型构建:训练一元线性回归模型
  • 智能插座是什么
  • 5G工业网关视频传输应用
  • Axure电商产品移动端交互原型,移动端高保真Axure原型图(RP源文件手机app界面UI设计模板)
  • 【k8s】使用Finalizers控制k8s资源删除
  • vscode
  • Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题
  • 【C++】模版初阶(初识模版)
  • 智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 10 种隐藏元素的 CSS 技术
  • SQL Server数据库使用T-SQL语句简单填充
  • 逻辑回归代价函数
  • 芯知识 | WT2003Hx系列高品质语音芯片MP3音频解码IC的特征与应用优势
  • node.js 启一个前端代理服务
  • 弹性搜索引擎Elasticsearch:本地部署与远程访问指南
  • 微信小程序生成二维码海报并分享
  • Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别
  • 【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透)
  • springboot 集成 redis luttuce redisson ,单机 集群模式(根据不同环境读取不同环境的配置)
  • PPT插件-好用的插件-PPT 素材该怎么积累-大珩助手
  • qt 正则表达式简单介绍
  • Redis设计与实现之跳跃表
  • [每周一更]-(第27期):HTTP压测工具之wrk
  • 【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx
  • C语言中的柔性数组
  • ca-certificates.crt解析加载到nssdb中
  • 聊聊Java中的常用类String
  • R语言piecewiseSEM结构方程模型在生态环境领域实践技术