**:
自己寫的:
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...