Re: [閒聊] 每日LeetCode

作者: idiont (supertroller)   2023-02-19 13:28:32
103. Binary Tree Zigzag Level Order Traversal
給一棵二元樹,
求他的 zigzag level order traversal,
也就是第一層從左到右,第二層從右到左,第三層從左到右,以此類推。
Example 1:
Input: root = [3,9,20,null,null,15,7]
Output: [[3],[20,9],[15,7]]
Explanation:
https://assets.leetcode.com/uploads/2021/02/19/tree1.jpg
第一層從左到右得到 [3]
第二層從右到左得到 [20,9]
第三層從左到右得到 [15,7]
Example 2:
Input: root = [1]
Output: [[1]]
Explanation:
第一層從左到右得到[1]
Example 3:
Input: root = []
Output: []
Explanation:
沒有任何節點
解題思路:
一層一層從左到右做BFS,把該層節點的值存成陣列,
如果該層是偶數層就先把陣列反轉再存入答案之中。
C++ code:
class Solution {
public:
vector<vector<int>> zigzagLevelOrder(TreeNode* root) {
vector<vector<int>> ans;
queue<TreeNode*> que;
que.push(root);
bool left_to_right = true;
while(que.size() > 0){
vector<int> v;
int T = que.size();
while(T
作者: a9486l (a9486l)   2023-02-19 14:14:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com