[剑指offer]从上到下打印二叉树

    技术2022-07-11  97

    [剑指offer]从上到下打印二叉树

    剑指offer-从上到下打印二叉树

    题目描述

    从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

    例如:

    给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9,20,15,7]

    提示: 节点总数 <= 1000 通过次数22,621提交次数35,155

    解题思路
    用一个队列进行层次遍历先将二叉树的头节点入队,然后出队,然后判断是否有左子树,有的话入队,是否有右子树,有的话入队。然后出队,对出队节点进行访问,如此反复,直到队列为空。
    实现代码
    class Solution { public: vector<int> levelOrder(TreeNode* root) { vector<int>res; queue<TreeNode*> que; que.push(root); while(!que.empty()){ TreeNode* temp = que.front();//获得队列头节点 que.pop(); if(temp){//节点不为null时 res.push_back(temp->val);//节点值保存 que.push(temp->left);//左子树入队 que.push(temp->right);//右子树入队 } } return res; } };
    Processed: 0.026, SQL: 12