剑指 Offer 32 - I. 从上到下打印二叉树
二叉树的层序遍历
/** * 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) { if(root == nullptr) return {}; vector<int> ans; ans.clear(); queue<TreeNode*> Q; while(!Q.empty()) { Q.pop(); } Q.push(root); while(!Q.empty()) { TreeNode* h = Q.front(); Q.pop(); ans.push_back(h->val); if(h->left) Q.push(h->left); if(h->right) Q.push(h->right); } return ans; } };
浙公网安备 33010602011771号