LEETCODE刷題 替換空格
阿新 • • 發佈:2020-06-27
#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); }