劍指offer59 按之字型列印二叉樹 題解

2022-07-26 12:48:17 字數 551 閱讀 1505

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。

奇數層從左往右列印,偶數層從右往左列印

ret的長度為奇數,說明當前是偶數層,則對row執行倒序操作。

輸入

返回值

[[8],[10,6],[5,7,9,11]]
/*

1.時間複雜度:o(n^2)

2.空間複雜度:o(1)

*/class solution

if (ret.size() & 1)

reverse(row.begin(), row.end());

ret.emplace_back(row);

}return ret;

}};

劍指offer59佇列最大值

這道題為什麼在leetcode裡試easy。懷疑人生。之前做過一道在o 1 時間內找到最小值的棧 面試題30 和兩個棧實現佇列 面試題9 因此結合二者可以完成這道題。第二種思路 把有可能成為滑動視窗最大值的數值存入乙個兩端開口的佇列。deque collections.deque res,n len...

劍指Offer59 滑動視窗的最大值

1.維護乙個單調不嚴格遞減佇列deque o n 遍歷起始位置o n 對於每個視窗只需o 1 獲得最大值,空間o k deque最多存當前視窗內的所有元素 當當前視窗內元素不嚴格單減的時候 class solution 陣列為空,或視窗過大或過小 vector int res 存每個視窗的最大值 d...

劍指offer59 按之字形順序列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。層序遍歷 coding utf 8 class treenode def init self,x self.val x self.left none sel...