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 | 499 Views, 16648 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 | 499 Views, 16648 Search Bots | 171 Words Subscribe to Feed Burner

Related Articles

  1. Algorithm Interview: Determine If Linked List is Palindrome
  2. Daily Interview Problem: Trapping Rainwater
  3. Print a tree level-by-level, with line-breaks
  4. [Daily Problem] Angles of a Clock
  5. Daily Interview Problem: Minimum Removals for Valid Parenthesis
  6. Daily Interview Problem: Merge K Sorted Linked Lists
  7. Find Missing Numbers in an Array
  8. Skip the readings, focus on problems. And use all the hints!
  9. Detect Linked List Cycle
  10. Daily Interview Problem: Reverse Integer

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" />