字符串空格的压缩:给定一个字符串,将其中连续出现的空格压缩为1个后,将其中已空格分隔的每个字符串逆序打印出来
解题思路是:第一步先压缩连续出现的空格;第二步实现以空格分隔的每个字符串逆序打印出来
再此,只讲一下第一步的操作:遍历字符串,遇到第一个空格,则给字符数组添加一个空格字符,此时如果后面仍有空格,执行空操作,直到遇到不是空格的,将i的位置进行赋值(后移),如果不是空格,添加进字符数组中,相应的后移。
#include <iostream> #include <cstring> #include <cstdlib> using namespace std; //字符串的翻转 void reverseString(char a[],int from,int to) { while(from<to) { char t=a[from]; a[from++]=a[to]; a[to--]=t; } } //以空格隔开 翻转一行字符串 char* StringSpace(char a[]) { if(a==NULL) return a; int len=strlen(a); int i,j; i=j=0; while(a[j]!='