剑指 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) { vector<int> vec; if (root == NULL) { // 初始判空处理 return vec; } queue<TreeNode*> que; // 创建队列 que.push(root); // 加入根节点 while (!que.empty()) { // 循环队列不为空 TreeNode* temp = que.front(); // 队首 que.pop(); // 弹出队首 vec.push_back(temp->val); if (temp->left) { // 左子树不为空就入队 que.push(temp->left); } if (temp->right) { // 右子树不为空就入队 que.push(temp->right); } } return vec; } };

浙公网安备 33010602011771号