逆序一个字符串的每一组单词(不是倒叙)

简介: 整体思路:1.先将整个字符串倒叙:i like china.->.anihc ekil i2.将倒叙后的每一块单词再倒叙:.anihc->china.想必大家都发现了,倒叙整个字符串和倒叙每一块是一样的,那么我们不妨写一个倒叙的函数在这里用reserve表示!

eg:输入:i like china.


    输出:china. like i


关于这个题呢?想必大家有很多写法,在这里小编为大家提供一种方法.


整体思路:


1.先将整个字符串倒叙:i like china.->.anihc ekil i


2.将倒叙后的每一块单词再倒叙:.anihc->china.


想必大家都发现了,倒叙整个字符串和倒叙每一块是一样的,那么我们不妨写一个倒叙的函数在这里用reserve表示!


整体代码如下:具体细节代码中标识

void reserve(char* left, char* right)
{
    //left:最左边元素
    //right:最右边元素
  while (left < right)
  {
  char tmp = *left;
  *left = *right;
  *right = tmp;
  left++;
  right--;
  }
}
int main()
{
  char arr[100] = { 0 };
  //输入
  gets(arr);
  //倒叙字符串
  int len = strlen(arr);
  reserve(arr, arr + len - 1);
  //倒叙每一组单词
  char* cur = arr;
  while (*cur)
  {
        //*strat开始头一个元素
  char* strat = cur;
  while (*cur != ' ' && *cur != '\0')
  {
    cur++;
  }
  reserve(strat, cur - 1);
  while (*cur == ' ')
  {
    cur++;
  }
  }
  //输出
  printf("%s", arr);
  return 0;
}


这道题就这样完成啦!有哪点看不懂的欢迎私信或者在评论区提问!!!


目录
相关文章
|
11月前
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
41 0
|
4月前
|
机器学习/深度学习 算法 测试技术
【组合数学 容斥原理 逆向思考】2930. 重新排列后包含指定子字符串的字符串数目
【组合数学 容斥原理 逆向思考】2930. 重新排列后包含指定子字符串的字符串数目
|
3月前
|
算法
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
32 1
|
4月前
|
人工智能 算法 测试技术
【字符串】【C++算法】828.统计子串中的唯一字符
【字符串】【C++算法】828.统计子串中的唯一字符
|
4月前
|
存储 编译器 C语言
Day2 排序子序列、倒置字符串
Day2 排序子序列、倒置字符串
44 0
|
11月前
【Leetcode -844.比较含退格的字符串 -1047.删除字符串中的所有相邻重复项】
【Leetcode -844.比较含退格的字符串 -1047.删除字符串中的所有相邻重复项】
46 0
从排列字符串到排列序列:解析增减字符串匹配问题
题目要求根据给定的字符串 s,构造一个排列序列 perm,其中排列序列中的数字满足以下规则: 如果 perm[i] < perm[i + 1],则对应的字符为 'I'; 如果 perm[i] > perm[i + 1],则对应的字符为 'D'。 我们需要根据字符串 s 中的字符,构造满足上述规则的排列序列 perm。
52 0
1185:单词排序
1185:单词排序
118 0
逆序字符串 和 字符串的逆序输出 的区别~
逆序字符串 和 字符串的逆序输出 的区别~
105 0
|
存储 算法 索引
LeetCode 30串联所有单词的子串&31下一个排列
给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。
109 0
LeetCode 30串联所有单词的子串&31下一个排列