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, 16473 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, 16473 Search Bots | 135 Words Subscribe to Feed Burner

Related Articles

  1. Invert a Binary Tree
  2. Plus One
  3. Daily Interview Problem: Group Words that are Anagrams
  4. Daily Interview Problem: Merge List Of Number Into Ranges
  5. Binary Tree Level with Minimum Sum
  6. Progess made
  7. Longest Substring Without Repeating Characters
  8. Patterns for breaking down questions you haven
  9. Two Tricks of Delphi
  10. Algorithm Interview: Level Order Traversal of Binary Tree

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