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

武汉 酒店 网站制作烟台seo

武汉 酒店 网站制作,烟台seo,可以做视频推广的网站有哪些,十大经典随身空间小说推荐题目引用 反转字符串反转字符串II替换数字 1.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&am…

题目引用


  1. 反转字符串
  2. 反转字符串II
  3. 替换数字

1.反转字符串


编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

示例 1:

输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]

示例 2:

输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]

相信不少同学看到题目之后就已经想到了C++的库函数reverse了,用这个做当然可以,毕竟只要做出来,怎么快怎么来。但是我们还是来看看怎么不用库函数解决这道问题吧。
首先定义一个头指针i,尾指针j,不断循环交换i和j位置的值,并且缩小区间,当i≮ j时循环结束,字符串也被反转了。
来看代码

void reverseString(vector<char>& s) {for(int i=0,j=s.size()-1;i<j;i++,j--){swap(s[i],s[j]);}}

短短的也很可爱哦~

2.反转字符串II


给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。
如果剩余字符少于 k 个,则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

示例 1:

输入:s = “abcdefg”, k = 2
输出:“bacdfeg”

示例 2:

输入:s = “abcd”, k = 2
输出:“bacd”

这里的题目写的比较生硬,容易让人看不懂。我们自己来分析一下吧,我们需要根据题目给出的k来寻找反转的区间,我们每次走2* k个位置,然后判断剩下的位置够不够k个,所以我们是以后面元素的个数来判断对后面n-i*(2*k)个位置是什么样的操作。
也就是说我们每次走2* k个位置,如果后面的元素个数>k,那么我们就反转后面k个,如果不够k个就全部反转。
那么就来看代码吧:

string reverseStr(string s, int k) {for(int i=0;i<s.size();i+=(2*k)){if((i+k)<s.size()){reverse(s.begin()+i,s.begin()+i+k);}else{reverse(s.begin()+i,s.end());}}return s;}

3.替换数字


题目描述
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。 例如,对于输入字符串 “a1b2c3”,函数应该将其转换为 “anumberbnumbercnumber”。

输入描述

输入一个字符串 s,s 仅包含小写字母和数字字符。

输出描述

打印一个新的字符串,其中每个数字字符都被替换为了number

输入示例

a1b2c3

输出示例

anumberbnumbercnumber

这道题目就稍微有一点难度了,不仅因为是IO机制,而且需要我们对字符串这个类有一定的理解。C++里面的string是可以使用resize修改空间的,我们先用sOldIndex记录一下现在字符串的最后一位,遍历一遍字符串,用count记录字符串中数字的个数,再利用resize将空间修改为5*count+s.size(),用sNewIndex指针标记现在字符串的最后一位,然后从后向前遍历,sOldIndex先走,当遇到非数字时就将其赋值给sNewIndex位置,并让sNewIndex--,当遇到数字时,sNewIndex--并把number倒序放入字符串中,当sNewIndex<0时循环结束。
来看代码:

#include <iostream>
using namespace std;
int main() {string s;while (cin >> s) {int sOldIndex = s.size() - 1;int count = 0; // 统计数字的个数for (int i = 0; i < s.size(); i++) {if (s[i] >= '0' && s[i] <= '9') {count++;}}// 扩充字符串s的大小,也就是将每个数字替换成"number"之后的大小s.resize(s.size() + count * 5);int sNewIndex = s.size() - 1;// 从后往前将数字替换为"number"while (sOldIndex >= 0) {if (s[sOldIndex] >= '0' && s[sOldIndex] <= '9') {s[sNewIndex--] = 'r';s[sNewIndex--] = 'e';s[sNewIndex--] = 'b';s[sNewIndex--] = 'm';s[sNewIndex--] = 'u';s[sNewIndex--] = 'n';} else {s[sNewIndex--] = s[sOldIndex];}sOldIndex--;}cout << s << endl;       }
}

总结


今天的题目呢难度并不大,主要是熟悉字符串的各种操作,那么今天就到这里吧,大家天天开心~

http://www.dinnco.com/news/19661.html

相关文章:

  • 保定网站维护公司源码网
  • 企业网站网页app推广接单发布平台
  • 免费做链接的网站吗如何注册域名网站
  • 企业网站建设的主要步骤代运营
  • 网站建设规划书的空间360seo关键词优化
  • 广州地区做网站的关键词挖掘长尾词
  • 网站美工难做吗谷歌 翻墙入口
  • 建设一个微商的网站北大青鸟职业技术学院简介
  • 猪八戒网网站建设数据分析师培训机构
  • 呼和浩特市网站谷歌浏览器下载手机版官网
  • 网上营销的方式谷歌优化的网络公司
  • 网站的微信推广怎么做免费开发软件制作平台
  • 南宁网站设计运营快速排名软件seo系统
  • 网站常见程序问题站内seo是什么意思
  • 绛帐做企业网站百度关键词刷搜索量
  • 做门户网站服务器选择注册域名费用一般多少钱
  • wordpress站关注别人优化百度百科
  • 小企业网站建设方案谷歌浏览器 安卓下载2023版官网
  • 做网站优化好的网络公司网络营销主要做些什么工作
  • 双井网站建设经典品牌推广文案
  • 哪个网站在线做头像好腾讯广告投放平台官网
  • 北京网站制作推广软文营销文章
  • 长春阿凡达网站建设网络营销的优势包括
  • 做外贸怎么进入国外的网站常熟网络推广
  • 网站建设需要域名吗?网站seo优化建议
  • 西安做网站找哪家公司好营销网点机构号
  • 甘肃兰州区号关键词排名优化价格
  • 长春市住房和城乡建设局官网seo关键词排名价格
  • 珲春建设银行网站百度搜索智能精选入口
  • z-blog还是wordpress搜索引擎排名优化