倒置字符串

倒置字符串

https://www.nowcoder.com/practice/ee5de2e7c45a46a090c1ced2fdc62355?tpId=182&tqId=34788&ru=/exam/oj

#include <stdio.h>
void reverse(char* left, char* right)
{
	while (left < right)
	{
		char temp = *left;
		*left = *right;
		*right = temp;

		left++;
		right--;
	}
}
int main()
{
	char arr[100] = { 0 };
	gets(arr);  //get():可以读取空格
  //逆序整个字符串
	reverse(arr,arr+strlen(arr)-1);  //arr+strlen(arr)-1计算的是字符串首地址加上字符串长度
  
  char* start=arr;
  char* end=start;  
  while(*start != '\0')
  {
	while(*end != ' ' && *end != '\0')
	{
	  end++;
	}
	
	if(*end == ' ')
	{
	  reverse(start,end-1);
	  end++;
	  start=end;  //把end的赋给start
	}
	else
	{
	  reverse(start,end-1);
	  start=end; 
	}
	
	
  }
   printf("%s\n",arr);
	return 0;
}

#小白刷题#
全部评论

相关推荐

用微笑面对困难:你出于礼貌叫了人一声大姐,大姐很欣慰,她真把你当老弟
点赞 评论 收藏
分享
12-19 22:04
武汉大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务