Binary Tree Zigzag Level Order Traversal
2015-04-22 00:54
316 查看
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
return its zigzag level order traversal as:
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7] ]
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int> > zigzagLevelOrder(TreeNode *root) { vector<vector<int> > result; if (root == NULL) { return result; } queue<TreeNode*> buf; bool left = true; buf.push(root); buf.push(NULL); vector<int> temp; stack<int> tempRight; while (!buf.empty()) { TreeNode *front = buf.front(); if (front != NULL) { if (left) { temp.push_back(front->val); } else { tempRight.push(front->val); } if (front->left) { buf.push(front->left); } if (front->right) { buf.push(front->right); } } else { if (!left) { while (!tempRight.empty()) { int top = tempRight.top(); temp.push_back(top); tempRight.pop(); } } result.push_back(temp); temp.clear(); if (buf.size() > 1) { if (left) { left = false; } else { left = true; } buf.push(NULL); } } buf.pop(); } return result; } };
相关文章推荐
- LeetCode 103:Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Leetcode题解(6):L103/Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 【LeetCode】Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- LeetCode-M-Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal (Java)
- 103. Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- leetcode 刷题之路 63 Binary Tree Zigzag Level Order Traversal
- Leetcode # 103 Binary Tree Zigzag Level Order Traversal
- LeetCode(103)Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal