首先我們先算出整個字串的長度,還有總共多少個空格。因為空格只佔乙個位元組,但是"%20"佔兩個位元組,所以新的容量是原來字串長度+空格數*2
,然後把新的容量與給定的字串總大小作比較,如果大於給定的大小,就說明給的用例出錯了,直接返回。
如果沒出錯,從原來字串末尾開始遍歷,如果是空格,則依次附給新字串同時兩個下標往前走,如果不是則直接賦值兩個下標也往前走。
class
solution
++i;
}int newlength = reallength + num*2;
if(newlength > length)
return
;int jreal = reallength;
int jnew = newlength;
while
(jreal >=
0&& jnew > jreal)
else
--jreal;
}return;}
};
劍指offer02 替換空格
自己寫的 public class solution return str.tostring 思路 1.統計空格個數count 2.設定新的字串長度newlen 原長度 2 count 3.設定兩個指標,indexold和indexnew,分別指向舊陣列末尾和新陣列末尾,從後向前遍歷。有兩種情況 1...
劍指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...