02 替換空格

2021-08-31 13:33:27 字數 603 閱讀 7880

題目描述:

解題思路:

準備兩個指標,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...