字符及子串的逆转

Posted ranran1203

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符及子串的逆转相关的知识,希望对你有一定的参考价值。

输入 i come from tianjin. 输出 tianjin. from come i

 

int main()
{

  int i = 0, j = 0, flag = 0, begin, end;
  char str[] = "i come from tianjin.";
  char temp;
  j = strlen(str) - 1;
  printf("%s\n", str);
  while (j > i)//逆序整个子串
  {
  temp = str[i];
  str[i] = str[j];
  str[j] = temp;
  j--;
  i++;
  }
  printf("%s\n", str);
  i = 0;
  while (str[i])
  {
  if (str[i] != ‘ ‘)
  {
  begin = i;
  while (str[i] && str[i] != ‘ ‘)
  {
  i++;

  }
  i = i - 1;//这的处理很重要
  end = i;
  }
  cout << begin << " "<<end<<endl;
  while (end > begin)//逆序单词
  {
  temp = str[end];
  str[end] = str[begin];
  str[begin] = temp;
  begin++;
  end--;
  }
  i+=1;//i在递增
}
printf("%s\n", str);
cin.get();
return 0;

}

以上是关于字符及子串的逆转的主要内容,如果未能解决你的问题,请参考以下文章

查找字符串的子串,使得子串的长度与其出现次数的乘积最大化

字符串中数字子串的求和

java 两个字符串,求最长公共子串的长度

leetcode题解#3:无重复字符的最长子串

查找给定字符串的所有前缀的最长回文子串的长度

特定子串的长度