題目描述:
解題思路:
準備兩個指標,p1和p2。p1指向原始字串的末尾,而p2指向替換之後的字串的末尾。接下來向前移動指標p1,逐個把它指向的字元複製到p2指向的位置,直到碰到第乙個空格為止。接著向前複製,直到碰到第
二、三或第n個空格。
// 計算出替換之後的字串的總長度
int p1 = orglen;
int p2 = newlen;
// p1指向原始字串的末尾,而p2指向替換之後的字串的末尾
while
(p1 >=
0&& p2 > p1)
p1--;}
}參考:
02 替換空格
coding utf 8 class solution s 源字串 def replacespace self,s write code here temp for i in s if i i 20 temp i return temp obj solution ret obj.replacespa...
劍指02 替換空格
解法一 呼叫自帶函式str.tostring replace 20 解法二 在當前字串上進行替換。先計算替換後的字串需要多大的空間,並對原字串空間進行擴容 從後往前替換字串的話,所有的字元都只複製 移動 一次,時間複雜度是o n 如果從前往後替換,每個字串需要多次移動,效率較低。解法三 開闢乙個新的...
劍指offer02 替換空格
自己寫的 public class solution return str.tostring 思路 1.統計空格個數count 2.設定新的字串長度newlen 原長度 2 count 3.設定兩個指標,indexold和indexnew,分別指向舊陣列末尾和新陣列末尾,從後向前遍歷。有兩種情況 1...