[Leetcode]102. Binary Tree Level Order Traversal
来源:互联网 发布:怪奇物语 知乎 编辑:程序博客网 时间:2024/05/17 03:40
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,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]迭代:
/** * 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 == nullptr) return result; queue<TreeNode *> Q; Q.push(root); while (!Q.empty()) { int size = Q.size(); vector<int> level; for (int i = 0; i != size; ++i) { TreeNode* head = Q.front(); Q.pop(); level.push_back(head->val); if (head->left != nullptr) Q.push(head->left); if (head->right != nullptr) Q.push(head->right); } result.push_back(level); } return result; }};
递归:
/** * 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; traverse(root, 1, result); return result; } void traverse(TreeNode *root, size_t level, vector<vector<int>> &result) { if (!root) return; if (level > result.size()) result.push_back(vector<int>()); result[level-1].push_back(root->val); traverse(root->left, level+1, result); traverse(root->right, level+1, 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 --- 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
- 102. Binary Tree Level Order Traversal LeetCode
- [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
- 【leetcode】102. Binary Tree Level Order Traversal
- LeetCode - 102. Binary Tree Level Order Traversal
- React升级后带来的两个小问题及处理
- ScrollView 非手动调用的方法
- git服务器ubuntu下操作使用说明
- makefile 浅析(一)
- 修改安卓中EditText中password模式下的符号
- [Leetcode]102. Binary Tree Level Order Traversal
- 几种傅里叶变换
- Keil、uVision、MDK、Keil C51之间的区别比较
- 学习笔记:用决策树预测隐形眼镜类型
- NSURLSession学习笔记(一)简介
- Java基础知识一
- Struts2实现多个文件下载(改进版)
- CocoaPods更新工程后编译提示Pods-framework.sh:No Such File or Directory
- oracle数据库连接