剑指offer:从上往下打印二叉树
生活随笔
收集整理的這篇文章主要介紹了
剑指offer:从上往下打印二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 分析
- 來源
分析
思路
典型的bfs模板題,這里使用STL中的queue,沒用數組模擬隊列。
STL的思路:初始化隊列時,根root入隊;對于bfs主體過程while循環內,取隊頭元素,隊頭元素出隊,下一層元素入隊。當然,中間需要把元素存儲vector中。
時間復雜度:O(n),每個元素遍歷一遍
/*** 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> printFromTopToBottom(TreeNode* root) {vector<int> res;if (root == nullptr) return res;queue<TreeNode*> q;q.push(root);while (q.size()) {auto t = q.front();q.pop();res.push_back(t->val);if (t->left) q.push(t->left);if (t->right) q.push(t->right);}return res;} };來源
https://www.acwing.com/problem/content/description/41/
總結
以上是生活随笔為你收集整理的剑指offer:从上往下打印二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指offer:二叉树的镜像
- 下一篇: 剑指offer:分行从上往下打印二叉树