题解 | #JZ32 从上往下打印二叉树#
从上往下打印二叉树
http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701
//使用队列辅助
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
vector<int> ret;
if (!root) return ret;
queue<TreeNode *> queue;
queue.push(root);
while (queue.size()) {
TreeNode *node = queue.front(); //去除队顶节点,即当前层未打印的最左边节点
queue.pop();
//打印节点值
ret.push_back(node->val);
//左右子节点分别入队
if (node->left) queue.push(node->left);
if (node->right) queue.push(node->right);
}
return ret;
}
};
美的集团公司福利 870人发布