To the Top
File:  root - text - article - 2019 - 12 - full-binary-tree.txt
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Category: Computing | 447 Views, 15068 Search Bots | 171 Words

Subscribe to Feed Burner | Browse | Archive
Hi, here's your problem today. This problem was recently asked by Google:

Given a binary tree, remove the nodes in which there is only 1 child, so that the binary tree is a full binary tree.

So leaf nodes with no children should be kept, and nodes with 2 children should be kept as well.

Here's a starting point:


from collections import deque

class Node(object):
def __init__(self, value, left=None, right=None):
self.left = left
self.right = right
self.value = value
def __str__(self):
q = deque()
q.append(self)
result = ''
while len(q):
num = len(q)
while num > 0:
n = q.popleft()
result += str(n.value)
if n.left:
q.append(n.left)
if n.right:
q.append(n.right)
num = num - 1
if len(q):
result += "\n"

return result

def fullBinaryTree(node):
# Fill this in.

# Given this tree:
# 1
# / \
# 2 3
# / / \
# 0 9 4

# We want a tree like:
# 1
# / \
# 0 3
# / \
# 9 4

tree = Node(1)
tree.left = Node(2)
tree.right = Node(3)
tree.right.right = Node(4)
tree.right.left = Node(9)
tree.left.left = Node(0)
print fullBinaryTree(tree)
# 1
# 03
# 94
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Cateogry: Computing | 447 Views, 15068 Search Bots | 171 Words Subscribe to Feed Burner

Related Articles

  1. Algorithm Interview Question: Max and Min with Limited Comparisons
  2. Algorithm Interview: Permutations of numbers
  3. [Daily Problem] Remove k-th Last Element From Linked List
  4. Algorithm Interview: Smallest Number that is not a Sum of a Subset of List
  5. Find Missing Numbers in an Array
  6. Staying on a Chess Board
  7. Daily Interview Problem: Given two arrays, write a function to compute their intersection.
  8. Daily Interview Problem: Circle of Chained Words
  9. Daily Interview Problem: Decode String
  10. [Daily Problem] Remove Consecutive Nodes that Sum to 0

Comments (0)

    Be the first one to comment this page !


Page Edited: May 11 2024 14:36:49 | RSS Subscription
How to Cook a Perfect Steak? | <meta name="robots" content="noindex, follow" />