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

网站开发的逻辑国家信息网

网站开发的逻辑,国家信息网,荣成市信用建设网站,免费做h5的网站【小菜鸡刷题记】:字符串 剑指 Offer 05. 替换空格剑指 Offer 58 - II.左旋转字符串剑指 Offer 20.表示数值的字符串剑指 Offer 67. 把字符串转换成整数 特此声明:题目均来自于力扣 剑指 Offer 05. 替换空格 题目链接 请实现一个函数,把字符…

【小菜鸡刷题记】:字符串

  • 剑指 Offer 05. 替换空格
  • 剑指 Offer 58 - II.左旋转字符串
  • 剑指 Offer 20.表示数值的字符串
  • 剑指 Offer 67. 把字符串转换成整数

特此声明:题目均来自于力扣

剑指 Offer 05. 替换空格

题目链接
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”

class Solution {
public:string replaceSpace(string s) {string str;for(int i=0;i<s.size();++i){if(s[i]==' '){str+="%20";}else{str+=s[i];}}return str;}
};

剑指 Offer 58 - II.左旋转字符串

剑指 Offer 58 - II. 左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例 1:

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

//三步翻转法
class Solution {
public:string reverseLeftWords(string s, int n) {int k=n%s.size();//反转前半段reverse(s.begin(),s.begin()+k);//反转后半段reverse(s.begin()+k,s.end());//整体反转reverse(s.begin(),s.end());return s;}
};//字符串拼接法
class Solution {
public:string reverseLeftWords(string s, int n) {return s.substr(n)+s.substr(0,n);}
};

剑指 Offer 20.表示数值的字符串

剑指 Offer 20. 表示数值的字符串

在这里插入图片描述

解题思路:数值可以表示为A [ . [ B ] ] [ E | e C ]或者.B [ e | E C ]
其中A是这个数值的整数部分,B是小数点后及e之前的小数部分,C是e的指数部分;
整数部分不是必须的
以数值字符串123.45e+6为例:123为整数部分A,45为小数部分B,+6为指数部分C

class Solution {
public://匹配正负号bool isInteger(string& s){if(s[0]=='+'||s[0]=='-')s.erase(0,1);return Isdigit(s);  }//判断是否出现数字bool Isdigit(string& s){int i=0;while(s[i]!='\0'&&isdigit(s[i])){i++;}s=s.substr(i);return i>0;}void EraseSpace(string& s){//去除首尾空格int i = 0;while (i < s.size() && s[i] == ' ')i++;s = s.substr(i);while (s.back() == ' ')s.pop_back();}bool isNumber(string s) {if(s=="") return false;EraseSpace(s);//判断是否出现‘+’‘-’数字,并原地修改字符串bool Integer=isInteger(s);//如果出现.,证明到了小数部分if(s[0]=='.'){s.erase(0,1);// ||的原因// 1:9.  等于9.0// 2:9.9 正常数值// 3:.9  等于0.9Integer=Isdigit(s)||Integer;}//如果出现‘e’"E",指数部分if(s[0]=='e'||s[0]=='E'){s.erase(0,1);//用&&的原因// 1.e前面没有整数:.e6、e6不能表示数字// 2.e的后面没有整数: 6e、6e3不能表示数字Integer=Integer&&isInteger(s);}//特殊情况:如果e后面有小数点,会在s=="\0"这一步判断失败return Integer && s=="\0";}
};

剑指 Offer 67. 把字符串转换成整数

剑指 Offer 67. 把字符串转换成整数

写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
在这里插入图片描述
考虑特殊输入,如字符串是一个""、"\0" "0" "+0" "-0"
我定义了一个枚举类型以及一个全局变量用来分辨是否是合法输入

enum{IsUnlawful=0,IsLawful};//判断是否是非法输入
static  int g_state=Islawful;
class Solution {
public:int strToInt(string str) {int g_state=IsUnlawful;//非法输入long long num=0;int i=0;if(str !="" && str!="\0"){bool flag=true;//正数while(str[i]==' ')//去空格{++i;}if(str[i]=='+')//判断符号{i++;}else if(str[i]=='-'){i++;flag=false;}if(str[i]!='\0')//+-'\0';{num=DigitToStr(str,i,flag);//转换}}//cout<<g_state<<endl;这里进用来测试是非法输入还是合法输入return static_cast<int>(num);}long long DigitToStr(string& s,int& i,bool flag){long long num=0;while(s[i]!='\0'){if(isdigit(s[i])){int ret=flag==true? 1:-1; num=10*num+(s[i]-'0')*ret;//判断是否越界if(num>INT_MAX&&flag){return INT_MAX;}if(num<INT_MIN&&!flag){return INT_MIN;}}if(!isdigit(s[i]))//异常结束;我这里把 "4193 with words"、"words and 987"看成一种情况{break;}++i;if(s[i]=='\0')//正常结束{//设置为合法输入g_state=IsLawful;}}return num;}
};
http://www.yayakq.cn/news/462677/

相关文章:

  • 上海做网站的的公司wordpress开发+文档下载
  • 兼职做平面模特网站wordpress 图片走cdn
  • 做服装最好的网站有哪些免费做电子请柬的网站
  • 贵州省住房和城乡建设局网站wordpress制作网站教程视频
  • 虚拟展馆官方网站建设代理服务网站
  • 上海网站建设专业公司哪家好男生女生做污事网站
  • 南京做网站南京乐识权威汉中市住建局建设厅网站官网
  • 网络免费推广网站什么是网站域名?
  • 长沙网站推广公司排名展览展馆设计公司
  • 福田做商城网站建设找哪家公司好wordpress新建模板
  • 拖拽建站模板自媒体平台哪家好
  • 网站开发 外包网站建立不安全怎么设置通过
  • 百度网盟推广网站wordpress 输出json
  • 网站开发做账如何建设网站后台
  • 网页设计与制作背景图片如何学做网站优化
  • 设计行业网站建设常见的管理信息系统有哪些
  • 建设部网站信息系统怎么做网页挣钱
  • SEO做得最好的网站上海源码网站建设公司
  • wordpress标签拼音seo门户网站
  • 贵州润铁祥建设工程有限公司网站dw 做的网站能用吗
  • centos建设网站汕头seo计费管理
  • 如何在百度上找网站网站维护一般做什么
  • 网站建设规划公司地址安徽先锋网站两学一做
  • 免费编程网课seo排名快速刷
  • 网站建设常规自适应苏州 网站建设 app
  • 简单的手机网站模板附近做广告的电话
  • 如何去看网站是不是响应式网站title写法
  • 网站注册需要什么外网门户网站建设方案
  • 公司备案查询网站备案秦皇岛网站制作哪个好
  • 服务网站建设公司wordpress 3d云标签