leetcode 103. Binary Tree Zigzag Level Order Traversal

来源:互联网 发布:软件投标书样本 编辑:程序博客网 时间:2024/06/03 07:14
class Solution {public:vector<vector<int>> zigzagLevelOrder(TreeNode* root){vector<vector<int>>res;if (root == nullptr){return res;}enum class Direction { LEFT, RIGHT };Direction direction = Direction::LEFT;queue<TreeNode*> queue;queue.push(root);while (!queue.empty()){int size = queue.size();vector<int> temp(size);for (int i = 0; i < size; i++){TreeNode *p = queue.front();queue.pop();int index = (direction == Direction::LEFT) ? i : (size - i - 1);temp[index] = p->val;if (p->left){queue.push(p->left);}if (p->right){queue.push(p->right);}}direction = (direction == Direction::LEFT) ? Direction::RIGHT : Direction::LEFT;res.push_back(temp);}return res;}};

0 0
原创粉丝点击