To the Top
File:  root - text - article - 2019 - 12 - count-number-of-unival-subtrees.txt.txt
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Category: Computing | 224 Views, 16481 Search Bots | 135 Words

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

A unival tree is a tree where all the nodes have the same value. Given a binary tree, return the number of unival subtrees in the tree.

For example, the following tree should return 5:


0
/ \
1 0
/ \
1 0
/ \
1 1


The 5 trees are:
- The three single '1' leaf nodes. (+3)
- The single '0' leaf node. (+1)
- The [1, 1, 1] tree at the bottom. (+1)

Here's a starting point:


class Node(object):
def __init__(self, val):
self.val = val
self.left = None
self.right = None

def count_unival_subtrees(root):
# Fill this in.

a = Node(0)
a.left = Node(1)
a.right = Node(0)
a.right.left = Node(1)
a.right.right = Node(0)
a.right.left.left = Node(1)
a.right.left.right = Node(1)

print count_unival_subtrees(a)
# 5
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Cateogry: Computing | 224 Views, 16481 Search Bots | 135 Words Subscribe to Feed Burner

Related Articles

  1. Skip the readings, focus on problems. And use all the hints!
  2. CPU Utilization
  3. Palindrome Integers
  4. How to Play WAV music under DOS?
  5. Daily Interview Problem: Room scheduling
  6. Daily Interview Question: Longest Sequence with Two Unique Numbers
  7. Daily Interview Problem: Find the Number of Islands
  8. Daily Interview Problem:Create a balanced binary search tree
  9. Daily Interview Problem: Merge K Sorted Linked Lists
  10. YES!!

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="index, follow">