剑指offer--面试题23:从上往下打印二叉树
2016-09-27 17:49
399 查看
python实现:
c++实现:
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。python实现:
# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: # 返回从上到下每个节点值列表,例:[1,2,3] def PrintFromTopToBottom(self, root): # write code here if root is None: return [] from collections import deque queue = deque([root]) #curLevel = 1 result = [] while queue: front = queue.popleft()#队头 #curLevel -= 1 result.append(front.val) if front.left: queue.append(front.left) if front.right: queue.append(front.right) #if curLevel==0: # curLevel = len(queue) return result
c++实现:
/* 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> result; if(root==NULL) return result; queue<TreeNode *> q; q.push(root); while(!q.empty()){ TreeNode *front = q.front(); q.pop(); result.push_back(front->val); if(front->left) q.push(front->left); if(front->right) q.push(front->right); } return result; } };
相关文章推荐
- 剑指offer-面试题23.从上往下打印二叉树
- 剑指offer 面试题23 从上往下打印二叉树 Java实现
- 《剑指offer》面试题23 从上往下打印二叉树
- 剑指offer面试题23:从上往下打印二叉树 Java实现
- 剑指Offer:面试题23——从上往下打印二叉树(java实现)
- 《剑指Offer》学习笔记--面试题23:从上往下打印二叉树
- 剑指offer之面试题23:从上往下打印二叉树
- 《剑指offer》(面试题23):从上往下打印二叉树
- 剑指offer面试题23:从上往下打印二叉树
- 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解
- 面试题23:从上往下打印二叉树
- 【剑指offer】面试题23:从上往下打印二叉树
- 从上往下打印二叉树(面试题 23)
- 剑指offer(23)——从上往下打印二叉树
- 剑指offer代码解析——面试题23从上往下打印二叉树
- 面试题23 从上往下打印二叉树
- 面试题23从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 剑指offer面试题 从上往下打印二叉树
- 面试题23:从上往下打印二叉树