每天兩道程式設計題 劍指offer(2) 替換空格

2021-08-18 20:27:27 字數 390 閱讀 9650

題目描述:

解題思路:

剛看到這道題時,首先想到的是string自帶的replace方法,但是沒有去使用,想嘗試一下其他方法。

首先還是要判斷輸入字串是否為空,這是任何題目都要優先考慮的事情。

這裡我使用了stringbuilder,通過對輸入字串的遍歷,在stringbuilder中加入對應的字元,最後使用tostring轉換為string返回。

附上**:

效能結果:

優秀解法:

本題難度不大,但是減少空間複雜度需要巧妙的解法。

想要獲取更好的空間複雜度需要通過c++實現,在這裡就不討論了。

力扣 每天兩道題

希望自己能堅持下去 2020.10.13 easy 過 兩數相加,emm,對比發現自己的差距,要求自己默一遍人家的 兩點注意 return的是.next l1 l1.next if l1 else none 如果l1存在,則向後遍歷,否則為 none l2 l2.next if l2 else no...

每天兩道演算法題(一)

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution continue for int j 1 j public class solution ...

劍指offer(2) 替換空格

假設面試官讓我們在原來的字串上做替換。時間複雜度為o n 的解法。我們可以先遍歷一遍字串,這樣就能統計出字串中空格的總數,並可以由此計算出替換之後的字串的總長度。每替換乙個空格,長度增加2,因此替換以後字串的長度等於原來的長度加上2乘以空格數目。length為牛客系統規定字串輸出的最大長度,固定為乙...