劍指 offer32(一 二 三)

2021-10-13 07:41:49 字數 1270 閱讀 8160

劍指 offer 32 - i. 從上到下列印二叉樹

思路:利用雙端佇列,每次從雙端佇列的隊頭取出節點,如果該節點存在左子樹和右子樹,則加入隊尾。

vector<

int>

levelorder

(treenode* root)

; vector<

int>res;

deque>dequetreenode;

dequetreenode.

push_back

(root)

;while

(dequetreenode.

size()

)return res;

}

劍指 offer 32 - ii. 從上到下列印二叉樹 ii

bfs:

vectorint>>

levelorder

(treenode* root)

; vectorint>>res;

queue>nodes;

nodes.

push

(root)

;while

(!nodes.

empty()

)if(node-

>right!=

nullptr)}

res.

push_back

(tmp);}

return res;

}

dfs:

void

dfs(treenode*root,vectorint>>

&res,

int level)

vectorint>>

levelorder

(treenode* root)

劍指 offer 32 - iii. 從上到下列印二叉樹 iii

vectorint>>

levelorder

(treenode* root)

else

out.

push_back

(node-

>val)

; n--;}

flag=

!flag;

res.

push_back

(out);}

return res;

}

劍指offer32 醜數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。題意理解 1.直接法。逐個判斷每個整數是不是醜數的解法,直觀但不夠高效 所謂乙個數m是另乙個數n的因子,是指n能被m整除,...

leetcode刷題 劍指offer 32題

從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回 3,9,20,15,7 新手上路,才學疏淺,望斧正 利用乙個佇列實現 class solution queue.add root while ...

劍指Offer 32 陣列中的逆序對

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 題目保證輸入的陣列中沒有的相同的數字 對於 50的資料,size 10 4 對於 75的資料,si...