LeetCode OJ - Binary Tree Level Order Traversal
2014-05-14 17:13
302 查看
题目:
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [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> > levelOrder(TreeNode *root) { vector<vector<int>> ans; if (root == NULL) return ans; queue<TreeNode *> one, another; one.push(root); while (!one.empty() || !another.empty()) { if (!one.empty()) { vector<int> cur_ans; while (!one.empty()) { TreeNode * node = one.front(); cur_ans.push_back(node->val); if (node->left != NULL) another.push(node->left); if (node->right != NULL) another.push(node->right); one.pop(); } ans.push_back(cur_ans); } if (!another.empty()) { vector<int> cur_ans; while (!another.empty()) { TreeNode *node = another.front(); cur_ans.push_back(node->val); if (node->left != NULL) one.push(node->left); if (node->right != NULL) one.push(node->right); another.pop(); } ans.push_back(cur_ans); } } return ans; } };
相关文章推荐
- LeetCode OJ - Binary Tree Zigzag Level Order Traversal
- LeetCode OJ:Binary Tree Zigzag Level Order Traversal
- LeetCode OJ:Binary Tree Level Order Traversal
- LeetCode OJ - Binary Tree Zigzag Level Order Traversal
- LeetCode OJ:Binary Tree Zigzag Level Order Traversal(折叠二叉树遍历)
- LeetCode OJ 之 Binary Tree Level Order Traversal (二叉树的层次遍历)
- 【LeetCode OJ】Binary Tree Level Order Traversal II
- LeetCode OJ 之 Binary Tree Level Order Traversal II (二叉树的层次遍历-二)
- Leetcode OJ 102 Binary Tree Level Order Traversal [Medium]
- LeetCode OJ:Binary Tree Level Order Traversal(二叉树的层序遍历)
- 【LeetCode OJ】Binary Tree Zigzag Level Order Traversal
- LeetCode OJ:Binary Tree Level Order Traversal II
- 【LeetCode OJ】Binary Tree Level Order Traversal
- LeetCode OJ - Binary Tree Level Order Traversal
- LeetCode OJ - Binary Tree Level Order Traversal II
- LeetCode OJ--Binary Tree Level Order Traversal
- LeetCode OJ--Binary Tree Level Order Traversal II
- 【LeetCode】C# 102、Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- [LeetCode]Binary Tree Level Order Traversal