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

驻马店 网站建设爱奇艺科技有限公司

驻马店 网站建设,爱奇艺科技有限公司,郴州市政府门户网站,wordpress 搬家教程1.仅仅反转字母 反转字母题目链接 我们使用 left 指针从左边开始扫描字符串 s&#xff0c;right 指针从右边开始扫描字符串 s。如果两个指针都扫描到字母&#xff0c;且 left<right&#xff0c;那么交换 s[left] 和 s[right]&#xff0c;然后继续进行扫描&#xff1b;否则…

1.仅仅反转字母

反转字母题目链接

我们使用 left 指针从左边开始扫描字符串 s,right 指针从右边开始扫描字符串 s。如果两个指针都扫描到字母,且 left<right,那么交换 s[left] 和 s[right],然后继续进行扫描;否则表明反转过程结束,返回处理后的字符串。

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

2.字符串里面最后一个单词的长度
 

字符最后一个单词长度

使用cin直接读入字符串会在遇到第一个空格时就停止,导致读入出错。使用getline()方法读入整行内容。再从后往前遍历,遇到第一个空格就停止,此时遍历了最后一个单词,输出对应的遍历的次数即可。 

#include<iostream>
#include<string>
using namespace std;
int main()
{
string line;
// 不要使用cin>>line,因为会它遇到空格就结束了
// while(cin>>line)
while(getline(cin, line))
{
size_t pos = line.rfind(' ');
cout<<line.size()-pos-1<<endl;
}
return 0;
}

3.验证一个字符串是否是回文

验证回文串

最简单的方法是对字符串 s 进行一次遍历,并将其中的字母和数字字符进行保留,放在另一个字符串 sgood 中。这样我们只需要判断 sgood 是否是一个普通的回文串即可。

判断的方法有两种。第一种是使用语言中的字符串翻转 API 得到 sgood 的逆序字符串 sgood_rev,只要这两个字符串相同,那么 sgood 就是回文串。

class Solution {
public:bool isLetterOrNumber(char ch){return (ch >= '0' && ch <= '9')|| (ch >= 'a' && ch <= 'z')|| (ch >= 'A' && ch <= 'Z');}bool isPalindrome(string s) {// 先小写字母转换成大写,再进行判断for (auto& ch : s){if (ch >= 'a' && ch <= 'z')ch -= 32;}int begin = 0, end = s.size() - 1;while (begin < end){while (begin < end && !isLetterOrNumber(s[begin]))++begin;while (begin < end && !isLetterOrNumber(s[end]))--end;if (s[begin] != s[end]){return false;}else{++begin;--end;}}return true;}
};

 4.字符串相加

字符串相加

本题我们只需要对两个大整数模拟「竖式加法」的过程。竖式加法就是我们平常学习生活中常用的对两个整数相加的方法,回想一下我们在纸上对两个整数相加的操作,是不是如下图将相同数位对齐,从低到高逐位相加,如果当前位和超过 10,则向高位进一位?因此我们只要将这个过程用代码写出来即可。

class Solution {
public:string addStrings(string num1, string num2) {int n1 = num1.size() - 1;int n2 = num2.size() - 1;int next = 0;string str = "";while (n1 >= 0 || n2 >= 0){int x1 = n1 >= 0 ? num1[n1--] - '0' : 0;int x2 = n2 >= 0 ? num2[n2--] - '0' : 0;int x = x1 + x2 + next;//进位next = x / 10;//取值x = x % 10;str += (x + '0');}if (next == 1){str += (1 + '0');}reverse(str.begin(), str.end());return str;}
};

5.加餐练习

课后作业练习——翻转字符串II 

课后作业练习——翻转字符串III

 课后作业练习——字符串相乘

 课后作业练习——找出字符串中第一个只出现一次的字符

http://www.dtcms.com/wzjs/5441.html

相关文章:

  • 政府网站建设的国际seo查询官方网站
  • 北京新增死亡病例详情长沙企业seo优化
  • 建立网站需要多少钱萍畜湖南岚鸿首选推广任务发布平台app
  • 商标购买网商标快速排名优化怎么样
  • 怎么给网站做备案宣传软文怎么写
  • 河北住房和城乡建设厅网站6seo快速软件
  • 东莞免费做网站公司seo的培训网站哪里好
  • 注册网站空间湖南官网网站推广软件
  • 西宁网站建设开发关键词名词解释
  • 在香港注册公司需要多少钱北海seo快速排名
  • 网站推广文章怎么写国际最新消息
  • 织梦网站怎么做索引地图软文推荐
  • 北京出名做网站的公司电视剧百度风云榜
  • 广州网站建设骏域环保地板百度广告投放收费标准
  • 行政机关 网站源码域名网站查询
  • 阿里云开发者社区windows优化软件
  • 做家装家居网站口碑营销5t理论
  • 网站开发需要哪些人成都百度推广开户公司
  • 网站建设成都什么时候友情链接
  • 广东品牌网站建设报价商品标题关键词优化
  • 深圳外贸商城网站建设seo关键词报价查询
  • html怎么做网站设计石家庄seo优化
  • 宁波网站免费建设服务平台网络营销培训课程
  • 专业做财务公司网站seo学校培训课程
  • 专业b2c网站建设seo刷点击软件
  • 别人做的网站百度网站验证郑州网站建设推广
  • 网站认证必须做么公司页面设计
  • 湘潭整站优化天津seo渠道代理
  • jsp做简单校园网站营销案例100例
  • 网站黑链代码中国 日本 韩国