時間限制:1秒
空間限制:32768k
熱度指數:594664
本題知識點: 字串
知識補充:
stringbuffer物件有乙個tostring()方法,就是將你的快取的字串列印出來,是string型別的
2、單引號和雙引號的區別
3、stringbuffer的常用方法
本人**:
public class solution else
}return strr.tostring();
}}
改進:
考慮空間複雜度,不new物件。
如果不把字串轉換為陣列,直接處理字串也行。使用str.charat也可以對字串進行
遍歷。如果從前向後遍歷,遇到空格就替換成「%20」,那麼其後的字串的內容就會被替換掉,因為沒有開闢新的字串用的是用乙個str。因此如果可以先將字串的長度進行擴充,那麼擴充的部分目前還是空可以存放東西,若從後向前更新字串就不會出現字串被覆蓋消失的問題。
思路二:先計算需要多少空間,然後從後向前遍歷,不斷填充,遇到空格替換成「%20」即可。
public class solution
}//計算新字串的長度
int newlength = str.length() + 2*num;
//設定兩個指標,乙個是從後向前遍歷字串查詢空格,另乙個是從後向前更新填充後的字串
int indexold = str.length() -1;
int indexnew = newlength - 1;
//擴充字串長度
str.setlength(newlength);
//從後向前遍歷,並進行更新
for(; indexold >=0 && indexnew >= 0; indexold--)else
}return str.tostring();
}}
劍指offer 2替換空格為指定字串
該題是劍指offer的基礎題,輸入乙個字串,裡面有一些空格,將空格填寫 20 這三個字元。然後輸出。下面是簡單 public class test0401 int targetlength usedlength blanknum 2 while usedlength 0 usedlength tar...
劍指offer(2) 替換空格
假設面試官讓我們在原來的字串上做替換。時間複雜度為o n 的解法。我們可以先遍歷一遍字串,這樣就能統計出字串中空格的總數,並可以由此計算出替換之後的字串的總長度。每替換乙個空格,長度增加2,因此替換以後字串的長度等於原來的長度加上2乘以空格數目。length為牛客系統規定字串輸出的最大長度,固定為乙...
劍指offer 2 替換空格
請實現乙個函式,將乙個字串中的空格替換成 20 usr bin env python coding utf 8 created by xuehz on 2017 8 7 class solution s 源字串 defreplacespace self,s write code here if ty...