题目1:替换空格
char* replaceSpace(char* s)
{
int i=0;
int j=0;
int len = strlen(s);
int cnt=0;
for (i = 0; i < len; i++)
{
if (s[i] == ' ')
{
cnt++;
}
}
char*ans =(char*)malloc(sizeof(char) * (len + cnt * 2 + 1));
for (i = 0; i < len; i++, j++)
{
ans[j] = s[i];
if (s[i] == ' ')
{
ans[j++] = '%';
ans[j++] = '2';
ans[j] = '0';
}
}
ans[j] = '\0';
return ans;
}
题目2:
void reverse(char* str,int left,int right)
{
while(left<right)
{
char tmp=str[left];
str[left]=str[right];
str[right]=tmp;
left++;
right--;
}
}
char* reverseLeftWords(char* s, int n){
int len=strlen(s);
int k=n%len;
if(k==0)
return s;
reverse(s,0,k-1);
reverse(s,k,len-1);
reverse(s,0,len-1);
return s;
}