劍指Offer04 字串空格替換

2021-09-26 14:50:24 字數 796 閱讀 7715

由於陣列在定義時必須指定其長度,因此必須先統計有多少個空格,然後計算新陣列的長度為:length+2*(空格數);因為%20佔三個位置,而原來的空格佔乙個位置。然後從頭或者從尾遍歷依次將原字串中字元複製到新的數字中,遇到「 」時新陣列依次複製三個字元「% 2 0」。

public class code004 

}private static char solution(string inline)

// char newlist=new char[list.length+]

//將字串轉成char陣列,便於統計空格符的個數

char list=inline.tochararray();

int originallength=list.length;

int numberofblank=0;

//遍歷統計空格符的個數

for(int i=0;i}

//定義新的字串陣列長度;為原陣列長度+空格符個數*2;因為%20為3個字元,而原來乙個空格佔乙個字元,因此乘以2;當然這裡也可以

// 直接將%20視為乙個字元整體;那樣問題就更簡單了

int newlength=originallength+2*numberofblank;

char resultlist=new char[newlength];

int i=0;

int j=0;

//或者從後往前依次複製。

while (ii++;

}return resultlist;

}}

劍指offer 2 字串的空格

時間限制 1秒 空間限制 32768k 熱度指數 594664 本題知識點 字串 知識補充 stringbuffer物件有乙個tostring 方法,就是將你的快取的字串列印出來,是string型別的 2 單引號和雙引號的區別 3 stringbuffer的常用方法 本人 public class ...

劍指offer 字串空格符替換

實現 輸入乙個字串,將字串中的空格替換為 20 輸出。這裡假設string傳入的字串末尾擁有足夠的容量 例如 輸入 hello world.輸出 hello 20world.include include using namespace std my version void replacestrb...

劍指offer系列之二 字串空格替換

看到這題,我的第一思路是這樣的 一組單詞不是有空格嘛,所以直接使用string類的split函式直接分割為char陣列不就好了,不過在這之前需要判斷一下第乙個位置和最後乙個位置是否有空格,然後針對空格的出現情況再進行替換。發現oj的時候,如你所猜,自然是失敗的。因為我忽略乙個問題,就是如果乙個句子中...