leetcode--面试题32 - I. 从上到下打印二叉树
2020-03-05 11:41
1706 查看
面试题32 - I. 从上到下打印二叉树
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3 / \ 9 20 / \ 15 7
返回:
[3,9,20,15,7]
提示:
节点总数 <= 1000
思路:迭代法–BFS
/** * 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<int> levelOrder(TreeNode* root) { vector<int> ans; if (root == NULL){ return ans; } queue<TreeNode*> q; q.push(root); TreeNode* pNode = NULL; while (!q.empty()){ pNode = q.front(); q.pop(); ans.push_back(pNode->val); if (pNode->left){ q.push(pNode->left); } if(pNode->right){ q.push(pNode->right); } } return ans; } }; /*12ms,14.7MB*/
时间复杂度:O(n)
空间复杂度:O(n)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【Golang】LeetCode-剑指Offer-面试题32 - II-从上到下打印二叉树 II
- 【Golang】LeetCode-剑指Offer-面试题32 - III-从上到下打印二叉树 III
- 【Golang】LeetCode-剑指Offer-面试题32 - I-从上到下打印二叉树【两种解法】
- 剑指offer面试题32:从上到下打印二叉树(c++ 完整代码)
- 剑指offer 面试题32 从上到下打印二叉树
- [题目3]牛客剑指Offer面试题32:从上到下打印二叉树
- 剑指Offer 面试题32:从上到下打印二叉树 Java代码实现
- 面试题32:从上到下打印二叉树
- 剑指offer系列-面试题32_1-分行从上到下打印二叉树(python)
- half ok面试题32:从上到下打印二叉树
- 【Java】面试题32:从上到下打印二叉树(顺序和在之字形)
- 【剑指offer】面试题32(2):分行从上到下打印二叉树
- 【剑指offer】面试题32:从上到下打印二叉树
- 剑指Offer面试题22栈的压入弹出序列,面试题23从上到下打印二叉树(层序遍历用队列)
- 【剑指offer】面试题32(3):之字形打印二叉树
- 《剑指Offer》面试题23:从上到下打印二叉树
- 面试题23:从上到下打印二叉树
- 剑指offer面试题23:从上到下打印二叉树
- 32_剑指offer_java_从上到下打印二叉树
- 剑指offer32.从上到下打印二叉树