LeetCode 102: Binary Tree Level Order Traversal
来源:互联网 发布:微群控营销软件 编辑:程序博客网 时间:2024/06/15 21:19
Binary Tree Level Order Traversal
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}
return its level order traversal as:
解题思路
考察二叉树的层次遍历,利用队列(queue)很容易就可以实现该功能。代码如下:
/** * Definition for a binary tree node. * 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>> result; if (root == NULL) return result; queue<TreeNode *> nodeQueue; nodeQueue.push(root); while (!nodeQueue.empty()) { vector<int> level_values; int level_size = nodeQueue.size(); // Note: 判断每层的元素个数 for (int i = 0; i < level_size; ++i) { TreeNode *front = nodeQueue.front(); nodeQueue.pop(); level_values.push_back(front->val); if (front->left != NULL) nodeQueue.push(front->left); if (front->right != NULL) nodeQueue.push(front->right); } result.push_back(level_values); } return result; }};
0 0
- Leetcode 102 Binary Tree Level Order Traversal
- LeetCode(102)Binary Tree Level Order Traversal
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal [102]
- [leetcode 102]Binary Tree Level Order Traversal
- [LeetCode 102]Binary Tree Level Order Traversal
- leetCode #102 Binary Tree Level Order Traversal
- leetcode-102 Binary Tree Level Order Traversal
- leetcode || 102、Binary Tree Level Order Traversal
- leetcode #102Binary Tree Level Order Traversal
- Leetcode[102]-Binary Tree Level Order Traversal
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode---(102)Binary Tree Level Order Traversal
- leetcode 102 Binary Tree Level Order Traversal
- leetcode[102]:Binary Tree Level Order Traversal
- Leetcode # 102 Binary Tree Level Order Traversal
- leetcode 102: Binary Tree Level Order Traversal
- leetcode-102-Binary Tree Level Order Traversal
- 《System语言详解》——6. 语句种类
- Django学习之manage.py使用
- LightOJ - 1017 Brush (III)
- 编写内核模块输出代码段的地址空间
- Android中显示GIF动画
- LeetCode 102: Binary Tree Level Order Traversal
- hdu2609How many 最小表示法
- Xcode如何请求网络并从网络上获得资源
- HDU 3074 Multiply game
- C++从零实现BP神经网络
- 返回值修改input值 jquery
- HDU-1029 Ignatius and the Princess IV
- 适配器设计模式
- LightOJ - 1018 Brush (IV)(状态压缩DP)