1. 程式人生 > 實用技巧 >LEETCODE刷題 替換空格

LEETCODE刷題 替換空格

#include<stdio.h>
#include<stdlib.h>
#include<string.h>



void replaceBlank(char string[],int len)
{


    int oriLen = 0;
    //oriLen = 0;
    int numOfBlank = 0;
    int i = 0;
    int newLen;

    int indexOfOriginal;
    int indexOfNew;

    if(string==NULL&&len<=0)
    {
        
return; } while(string[i]!='\0') { ++oriLen; if(string[i]==' ') { ++numOfBlank; } ++i; } newLen = oriLen + numOfBlank * 2; printf("newLen = %d\n",newLen); if(newLen > len) { return; } indexOfOriginal
= oriLen; indexOfNew = newLen; printf("indexOfNew = %d\n",indexOfNew); while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal) { if(string[indexOfOriginal] == ' ') { string[indexOfNew--] = '0'; string[indexOfNew--] = '2'; string
[indexOfNew--] = '%'; } else { string[indexOfNew--] = string[indexOfOriginal]; } --indexOfOriginal; } printf("%s",string); } void main() { char string[20] = "we are happy"; replaceBlank(string,30); }