LeetCode劍指Offer05 替換空格

2021-10-09 07:55:24 字數 712 閱讀 2854

leetcode劍指offer05.替換空格

題目:

請實現乙個函式,把字串 s 中的每個空格替換成"%20"。

示例 1:

題解:

1.常規方法

先遍歷一遍陣列,記錄空格的個數count,再擴充套件字元陣列長度為(s.size()+2*count),用雙指標從後往前替換空格,乙個指標指向擴充套件前的最後一位,乙個指標指向擴充套件後的最後一位。

class

solution

} s.

resize

(soldsize+count*2)

;int snewsize=s.

size()

;for

(int i=snewsize-

1,j=soldsize-

1;i!=j;i--

,j--

)else

}return s;}}

;

時間複雜度 o(n),空間複雜度o(1)

好處:(1)不用申請新的陣列

(2)從後向前相比於從前向後可避免替換時移動後面所有的元素。

2.開闢新的字元陣列,利用string的方法完成。

不太好

leetcode 劍指 Offer 專題(七)

劍指 offer 專題第七部。題目 劍指 offer 66.構建乘積陣列。定義 begin v 1 i prod a k a 0 times a 1 times dots times a i 1 quad v 1 0 1 v 2 i prod a k a i 1 times dots times a...

leetcode劍指offer 字串

二叉樹,鍊錶,字串 思路 進行兩次反轉 1.對整個句子反轉 2.對句子中的單詞反轉 經過三次反 1.反轉前面的字串。2.反轉後面的字串。3.反轉整個字串 不能直接用力扣46全排列的 力扣46是無重複的數字,這個題是有重複的。正確的解法 不用not in tmp來判斷這個字母是否需要遍歷,定義乙個us...

Leetcode劍指offer系列 平衡二叉樹

傳送門 輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,nul...