剑指 Offer-JZ22-从上往下打印二叉树

    技术2022-07-10  84

    题目描述

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

    解题思路

    常规

    代码实现

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

    运行结果

    运行时间:3ms 占用内存:392k

    Processed: 0.029, SQL: 9