22、剑指offer - 从上往下打印二叉树

考点:

举例让抽象具体化

题目描述:

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

解题:

/*
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> res;
        if(!root){
            return res;
        }
        queue<TreeNode *> q;
        q.push(root);
        while(!q.empty()){
            res.push_back(q.front()->val);
            if(q.front()->left){
                q.push(q.front()->left);
            }
            if(q.front()->right){
                q.push(q.front()->right);
            }
            q.pop();
        }
        return res;
    }
};

/*
 bfs.借助队列来实现
*/
发布了63 篇原创文章 · 获赞 72 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/qq_42250189/article/details/105629044