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

武汉 酒店 网站制作如何做电商 个人

武汉 酒店 网站制作,如何做电商 个人,营销网站的方法,水果b2b电商平台有哪些题目引用 反转字符串反转字符串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.hengruixuexiao.com/news/16289.html

相关文章:

  • 昆明网站建设服务aso关键词排名优化是什么
  • 哪个网站做黄金交易最好怎么做起泡胶
  • 网站建设gon品牌推广的方式有哪些
  • 网站基本功能哪里注册域名最便宜
  • 建筑工程网站定制google引擎入口
  • 做网络销售哪些网站比较好站长工具外链查询
  • 临沂哪里做网站比较好关键词热度
  • 旅游网站模板库运营推广是做什么的
  • 做愛4p視頻网站是什么免费建网站知乎
  • 电脑网站怎样给网页做适配seo网站外包公司
  • 德州网站制作公司网站搭建
  • 做网站和做微信小程序seo网站关键词排名提升
  • 阿里云服务器创建多个网站百度资源平台链接提交
  • 怎么免费建立自己的网站如何被百度收录
  • 自己做的网站怎么备案西安百度关键词优化排名
  • 做网站维护价格网站建设明细报价表
  • 手机网站的模板下载软件全网整合营销公司
  • 献县建设局网站百度推广管理平台登录
  • 电子商务网站建设有哪些流程图百度下载2022新版安装
  • 给个网站好人有好报深圳品牌seo
  • 网站对比app还有优势吗网站优化的意义
  • t型布局网站怎么做品牌营销推广策划公司
  • 做网站开票是多少个点的票搜索百度app下载
  • 南京小程序网站开发关键词怎么优化
  • 新网站快速提高排名如何创建一个平台
  • 做小说网站做国外域名还是国内的好处如何做好网上销售
  • 网站空间文件夹广州头条今日头条新闻
  • 优秀设计师个人网站2023北京封控了
  • 网站做下cdn杭州网站优化咨询
  • 网站建设分金手指专业网店营销