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

简介: 整体思路: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;
}


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


目录
相关文章
|
8月前
|
算法
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
67 0
|
7月前
|
算法
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
68 1
|
8月前
|
存储 编译器 C语言
Day2 排序子序列、倒置字符串
Day2 排序子序列、倒置字符串
60 0
【Leetcode -844.比较含退格的字符串 -1047.删除字符串中的所有相邻重复项】
【Leetcode -844.比较含退格的字符串 -1047.删除字符串中的所有相邻重复项】
58 0
|
C语言
C语言:输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。
描述 输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。 输入描述: 输入包含三行, 第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。 第二行包含n个整数,用空格分隔。 第三行包含m个整数,用空格分隔。
296 0
C语言:输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。
|
存储 算法
算法训练day11|20. 有效的括号;1047. 删除字符串中的所有相邻重复项;150. 逆波兰表达式求值
算法训练day11|20. 有效的括号;1047. 删除字符串中的所有相邻重复项;150. 逆波兰表达式求值
从排列字符串到排列序列:解析增减字符串匹配问题
题目要求根据给定的字符串 s,构造一个排列序列 perm,其中排列序列中的数字满足以下规则: 如果 perm[i] < perm[i + 1],则对应的字符为 'I'; 如果 perm[i] > perm[i + 1],则对应的字符为 'D'。 我们需要根据字符串 s 中的字符,构造满足上述规则的排列序列 perm。
70 0
1185:单词排序
1185:单词排序
149 0
逆序字符串 和 字符串的逆序输出 的区别~
逆序字符串 和 字符串的逆序输出 的区别~
117 0
|
算法 Java 索引
【算法】给定一个字符串 s 和一些长度相同的单词 words,串联所有单词的子串。要不要来试一试?
给定一个字符串 s 和一些长度相同的单词 words串联所有单词的子串
157 0
【算法】给定一个字符串 s 和一些长度相同的单词 words,串联所有单词的子串。要不要来试一试?

热门文章

最新文章