剑指Offer刷题(把二叉树打印成多行)

    技术2022-07-15  70

    剑指Offer刷题(把二叉树打印成多行)

    一.题目描述二.代码(C++)三.提交记录四.备注

    一.题目描述

    从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

    二.代码(C++)

    /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; */ class Solution { public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int> > v; if(!pRoot) return v; queue<TreeNode*> dq; dq.push(pRoot); while(!dq.empty()) { vector<int> tmp; int n=dq.size(); for(int i=0;i<n;i++) { TreeNode* tp=dq.front(); dq.pop(); tmp.push_back(tp->val); if(tp->left) dq.push(tp->left); if(tp->right) dq.push(tp->right); } v.push_back(tmp); } return v; } };

    三.提交记录

    四.备注

    层次遍历,每层的节点保存在一个队列中。

    Processed: 0.010, SQL: 9