劍指offer 面試21題

2022-04-23 01:11:30 字數 1129 閱讀 2710

面試21題:

題目:調整陣列的順序使奇數字於偶數前面

題一:輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。

解題思路:使用兩個指標,第乙個指標初始化指向陣列的第乙個數字,從前向後移動,遇到偶數就停下來;第二個指標指向陣列的最後乙個數字,從後向前移動,遇到奇數就停下來,交換兩個指標指向的元素,直到兩個指標相遇。

解題**:

#

-*- coding:utf-8 -*-

class

solution:

defreorderarray(self, array):

#write code here

if array==none or len(array)==0:

return

pbegin=0

pend=len(array)-1

while (pbeginwhile pbeginand

notself.iseven(array[pbegin]):

pbegin += 1

while pbeginand

self.iseven(array[pend]):

pend -= 1

if pbegintemp=array[pbegin]

array[pbegin]=array[pend]

array[pend]=temp

return

array

defiseven(self,number):

return number & 1==0

題二:在題一基礎上,要求奇數和奇數,偶數和偶數的相對位置保持不變。

解題**:

#

-*- coding:utf-8 -*-

class

solution:

defreorderarray(self, array):

#write code here

res1=

res2=

for i in

array:

if i%2!=0:

else

:

return res1+res2

劍指offer面試題21

面試題21 包含min函式的棧 題目 定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的min函式。在該棧中,呼叫min push及pop的時間複雜度都是o 1 預備知識 棧的定義 模板函式 思路 面對乙個複雜的問題,我們可以舉幾個具體的例子來尋找規律,對於本題目,我們可以通過舉例來分析它...

劍指offer 面試35題

面試35題 題目 複雜鍊錶的複製 題 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 解題思路一 python作弊法 解題 coding ...

劍指offer 面試33題

面試33題 題 二叉搜尋樹的後序遍歷序列 題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。解題思路 遞迴 解題 coding utf 8 class solution defverifysquenceof...