最直觀的做法是從頭往後開始掃瞄,但是這樣複雜度為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...