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

做爰xo的视频网站试看广饶网站定制

做爰xo的视频网站试看,广饶网站定制,百度商店,诸暨 外贸网站建设文章目录 看下去,你一定可以理解此题,写的简单易懂力扣题目解题思路函数构成1.反转函数2.消除掉多余空格函数 整体函数 看下去,你一定可以理解此题,写的简单易懂 力扣题目 给你一个字符串 s ,请你反转字符串中 单词 …

文章目录

  • 看下去,你一定可以理解此题,写的简单易懂
  • 力扣题目
  • 解题思路
  • 函数构成
    • 1.反转函数
    • 2.消除掉多余空格函数
  • 整体函数

看下去,你一定可以理解此题,写的简单易懂

力扣题目

给你一个字符串 s ,请你反转字符串中 单词 的顺序。

单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。

返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。

注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

示例 1:

输入:s = “the sky is blue”
输出:“blue is sky the”
示例 2:

输入:s = " hello world "
输出:“world hello”
解释:反转后的字符串中不能存在前导空格和尾随空格。
示例 3:

输入:s = “a good example”
输出:“example good a”
解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。

解题思路

1.通过removeElement函数来去掉字符串中多余的0;
2.通过revise函数先反转整个字符串;
3.在反转每一个单词,就达到了题目中的要求。
(反转每一个单词过程可以参考我的此篇文章-力扣-557. 反转字符串中的单词 III)

函数构成

1.反转函数

void revise(char* start, char* end)
{char temp;while (start < end){temp = *end;*end = *start;*start = temp;start++;end--;}
}

只需要输入反转的起始地址和终止地址即可完成反转

2.消除掉多余空格函数

int removeElement(char* str, int len, int val)
{int slow = 0; //慢指针int fast = 0; //快指针for (fast = 0; fast < len; fast++){if (val != str[fast])/*如果不是空格就赋值*/{if (slow != 0)/*确保字符串的最前边没有空格*/{str[slow] = ' ';slow++;}}while ((fast < len) && str[fast] != val)/*快指针遍历一个完整的单词赋值给慢指针*/{str[slow] = str[fast];slow++;fast++;}}str[slow] = '\0';return slow;
}

整体函数

void revise(char* start, char* end)
{char temp;while (start < end){temp = *end;*end = *start;*start = temp;start++;end--;}
}
int removeElement(char* str, int len, int val)
{int slow = 0; //慢指针int fast = 0; //快指针for (fast = 0; fast < len; fast++){if (val != str[fast])/*如果不是空格就赋值*/{if (slow != 0)/*确保字符串的最前边没有空格*/{str[slow] = ' ';slow++;}}while ((fast < len) && str[fast] != val)/*快指针遍历一个完整的单词赋值给慢指针*/{str[slow] = str[fast];slow++;fast++;}}str[slow] = '\0';return slow;
}char* reverseWords(char* s)
{char* start = NULL;char* end = NULL;int len = strlen(s);int i = 0;/*取得移除多余0后字符串的长度*/len = removeElement(s, len, ' ');/*反转全部字符串*/revise(&s[0], &s[len - 1]);/*反转每一个单词*/start = s;/*字符串首地址赋值*/for (i = 0; i < len; i++){if (s[i] == ' '){end = &s[i];/*记录空格的位置*/revise(start, end - 1);start = end + 1;/*记录空格后字符的位置*/}else if (s[i + 1] == '\0')/*最后一个单词特殊处理*/{end = &s[i];revise(start, end);start = NULL;}}return s;
}

如果有需要可以跳转leetcode直接看我提交的解题:151. 反转字符串中的单词

http://www.yayakq.cn/news/366791/

相关文章:

  • 苏州市城乡建设局网站沈阳京科医院男科
  • 企业网站管理系统使用教程网络营销的优点
  • 腾讯云服务器上传网站wordpress自适应设置宽度
  • 抄袭网站违法网络黄页推广大全
  • 做国际贸易哪个网站好网站空间搭建
  • 网页前端开发网站购物网站开发计划书
  • 网站建设阶段的推广哪家公司做网站结算好
  • 恒锐奇 做网站网站域名优势
  • 微信端网站设计极简办公ppt模板下载
  • 网站 新增线路 备案考试源码网站wordpress
  • 网站推广的平台排名怎么开始啊
  • 网站怎么做电脑系统下载电脑微信怎么进入公众号
  • 如何建站东城网站建设
  • 网站如何有排名2022最新传奇手游
  • 外贸网站运营怎么做网站单页模板
  • 骏驰网站开发特色个人网页设计
  • 网站建设江苏网站必须做可信认证
  • 茶叶网站建设策划书ppthtml网页大赛优秀作品
  • 一个完美的网站怎么做wordpress 搜索栏js
  • ip代理网址成都谷歌seo
  • 网站开发 flex布局做网站如何买量
  • php5+mysql网站开发实例精讲摄影作品
  • title 镇江网站建设seo网络营销课程
  • 网站重新搭建程序要多少钱银行网站源码
  • 沧州市东光建设局 网站爱站网是什么意思
  • 聊城手机网站中山网站建设工具猫
  • 一个网站做数据维护3天正常吗哪里网站备案最快
  • 淘宝客导购网站建设?it外包运维服务
  • 长春建站宣传南京 郑州网站建设公司 网络服务
  • 浙江建设厅网站安全员证书查询如何在wordpress底部添加友情链接