题解 | #把二叉树打印成多行#
把二叉树打印成多行
https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288
把二叉树打印成多行:最直观的想法是,层次遍历,较为简单。
vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int>> res; if(!pRoot) return res; queue<TreeNode*> que; vector<int> temp; que.push(pRoot); while(!que.empty()) { // 注意如果直接在for循环写que.size其是变化的 int len=que.size(); temp.clear(); // 每一层有que.size个元素 for(int i=0;i<len;i++) { TreeNode * cur=que.front(); temp.push_back(cur->val); que.pop(); if(cur->left) que.push(cur->left); if(cur->right) que.push(cur->right); } res.push_back(temp); } return res; }#把二叉树打印成多行#
剑指offer 文章被收录于专栏
剑指offer专栏主要分享剑指offer题解。