面试题23:从上到下打印二叉树
2017-07-30 23:46
316 查看
剑指offer面试题23:从上到下打印二叉树
题目描述:从上到下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。function Queue() { var items = []; this.enqueue = function(element) { items.push(element); } this.dequeue = function() { return items.shift(); } this.isEmpty = function() { return items.length === 0; } this.front = function() { return items[0]; } } function BinarySearchTree() { var Node = function(key) { this.key = key; this.left = null; this.right = null; } var root = null; this.insert = function(key) { var newNode = new Node(key); if(root === null) { root = newNode; }else{ insertNode(root, newNode); } } var insertNode = function(node, newNode) { if(newNode.key < node.key) { if(node.left === null) { node.left = newNode; } else { insertNode(node.left, newNode); } } else{ if(node.right === null) { node.right = newNode; } else { insertNode(node.right, newNode); } } } this.root = function() { return root; } } function PrintFromTopBottom(tree) { var queue = new Queue(); if(!tree) { return false; } queue.enqueue(tree.root()); while(!queue.isEmpty()) { var node = queue.front(); queue.dequeue(); console.log(node.key); if(node.left !== null) { queue.enqueue(node.left); } if(node.right !== null) { queue.enqueue(node.right); } } } var tree = new BinarySearchTree(); tree.insert(8); tree.insert(6); tree.insert(10); tree.insert(5); tree.insert(7); tree.insert(9); tree.insert(11); PrintFromTopBottom(tree);
相关文章推荐
- 剑指offer面试题23:从上到下打印二叉树
- 剑指Offer_面试题23_从上到下打印二叉树(层序遍历)
- 面试题 23: 从上到下打印二叉树
- 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)
- 剑指Offer面试题22栈的压入弹出序列,面试题23从上到下打印二叉树(层序遍历用队列)
- 剑指offer 面试题23 从上到下打印二叉树
- 《剑指Offer》面试题23:从上到下打印二叉树
- (剑指Offer)面试题23:从上到下打印二叉树
- 【剑指Offer学习】【面试题23:从上往下打印二叉树】
- [剑指offer]python从上到下打印二叉树【面试题9.15】
- 面试题23:从上往下打印二叉树
- 【面试题】剑指Offer-23-从上往下打印二叉树
- 面试题:23从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 剑指offer面试题23-从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 剑指offer--面试题23:从上往下打印二叉树
- 剑指offer-面试题23:从上往下打印二叉树
- 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解
- 《剑指offer》(面试题23):从上往下打印二叉树