劍指offer第二題

2021-07-29 23:00:43 字數 400 閱讀 6471

最直觀的做法是從頭往後開始掃瞄,但是這樣複雜度為o(n^2)

o(n)的做法是從後往前開始複製和替換。

先求出替換後的字串大小,然後用兩個指標(index)從後往前複製,如果遇上空格,直接替換為%20

public

class

solution

}int oldindex=str.length()-1;

int newindex=str.length()+spacenum*2-1;

str.setlength(newindex+1);

while(oldindex>=0)else

oldindex--;

}return str.tostring();

}}

劍指offer第二題

請實現乙個函式,將乙個字串中的空格替換成 20 例如,當字串為 則經過替換之後的字串為 分析 考場陣列的操作,主要是從頭到尾的操作要消耗o n 複雜度,如果完成插值,則為o n2 所以要從尾部倒過來轉移。注意 本題有兩點要考慮。其一,注意錯誤的返回值為return,而不是return false。其...

劍指offer leetcode 第二題

在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,1...

劍指offer第一和第二題

第一題 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。coding utf 8 class solution array 二維列表 deffind self,target,arra...