請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。
奇數層從左往右列印,偶數層從右往左列印
若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...