劍指offer02 替換空格

2021-09-16 14:00:09 字數 661 閱讀 4462

**:

自己寫的:

public class solution 

}return str.tostring();

}}

思路:

1.統計空格個數count

2.設定新的字串長度newlen=原長度+2*count;

3.設定兩個指標,indexold和indexnew,分別指向舊陣列末尾和新陣列末尾,從後向前遍歷。有兩種情況:

1).indexold指向的元素如果是非空格,則移動到indexnew指向位置,並且indexnew向前移動一格(indexold也是);

2).indexnew指向的元素如果是空格,則使用「%20」替換。

public class solution 

int indexold = str.length()-1;

int newlen = str.length()+2*count;

int indexnew = newlen-1;

str.setlength(newlen);

for(;indexold >=0 && indexold < newlen;indexold--)else

}return str.tostring();

}}

劍指offer 02替換空格

首先我們先算出整個字串的長度,還有總共多少個空格。因為空格只佔乙個位元組,但是 20 佔兩個位元組,所以新的容量是原來字串長度 空格數 2,然後把新的容量與給定的字串總大小作比較,如果大於給定的大小,就說明給的用例出錯了,直接返回。如果沒出錯,從原來字串末尾開始遍歷,如果是空格,則依次附給新字串同時...

劍指offer 02 替換空格

1 統計字串的長度和空格的個數 2 定義兩個指標分別指向原字串的末尾和替換後字串的末尾 3 移動兩指標,遇到空格進行替換,直到兩指標相遇結束 class solution int strlen 0 字串實際長度 int spacenum 0 空格個數 int i 0 while str i 0 st...

劍指offer02替換空格

2020.4.28 這是乙個查詢替換的過程,其實替換在string中有replace,直接就可以實現,但是已給的輸出引數定義是stringbuffer,是沒有replace語句,而且人家讓你程式設計實現,當然不是用現成的語句了。既然輸入時stringbuffer,可以通過.charat,找到每乙個c...