本题也属于层次遍历的变形,不同之处在于其遍历的方法是交替进行的,形成一个ZigZag的曲线形式,如下: 代码如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 1 struct TreeNode { 2 int val; 3 TreeNode* left; 4 TreeNode* right; 5 TreeNode(int x): val(x), left(N
3. Binary Tree Zigzag Level Order Traversal Given a binary tree, return thezigzag level ordertraversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree[3,9,20,null,null,15,7], 3 / \ 9 20 ...
return its zigzag level order traversal as: [ [3], [20,9], [15,7] ] 分析: 层序遍历的,注意Zigzag的顺序 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {...
Binary Tree Zigzag Level Order Traversal Given a binary tree, return thezigzag level ordertraversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree{3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15...
103. Binary Tree Zigzag Level Order Traversal Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree [3,9,20,null,null,15,7], 代码语言:...
offer(level); treeNode.offer(curNode.right); nodeLevel.offer(level); } } return ans; } 第二种方案 把102 题 的解释贴过来。 我们在 while 循环中加一个 for 循环,循环次数是循环前的队列中的元素个数即可,使得每次的 while 循环出队的元素都是同一层的元素。 for 循环结束也就意味着当前层结束了,...
return its zigzag level order traversal as: [ [3], [20,9], [15,7] ] 在102的基础上稍加改动即可 1. 2. 3. 4. 5. 6. 7. 8. class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { queue<TreeNode*> q; ...
100-same-tree 1008-construct-binary-search-tree-from-preorder-traversal 101-symmetric-tree 102-binary-tree-level-order-traversal 103-binary-tree-zigzag-level-order-traversal 104-maximum-depth-of-binary-tree 107-binary-tree-level-order-traversal-ii 108-convert-sorted-array-to-binary-search-tree 11...
levelTraversal(root->right, level+1, !leftToRight, result); } }; 2. 迭代解法 // 迭代解法 classSolution{ public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector<vector<int> > result; if(!root)returnresult;
103. Binary Tree Zigzag Level Order Traversal 58b6ace olsen-blue reviewed Mar 2, 2025 View reviewed changes 103/step3.cpp vector<TreeNode*> current_level_nodes = {root}; while (!current_level_nodes.empty()) { vector<TreeNode*> next_level_nodes; level_ordered_vals.push_back({...