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 | 380 Views, 18289 Search Bots | 135 Words
| Browse | Archive
![Subscribe to Feed Burner Subscribe to Feed Burner](/images/form/rss.gif)
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Category: Computing | 380 Views, 18289 Search Bots | 135 Words
![Subscribe to Feed Burner Subscribe to Feed Burner](/images/form/rss.gif)
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:
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:
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Cateogry: Computing | 380 Views, 18289 Search Bots | 135 Words 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
![Subscribe to Feed Burner Subscribe to Feed Burner](/images/form/rss.gif)
Related Articles
- Most Frequent Subtree Sum
- Algorithm Interview: Shifted String
- Daily Interview Puzzle: Intersection of Linked Lists
- Algorithm Interview: Smallest Number that is not a Sum of a Subset of List
- [Daily Problem] Add two numbers as a linked list
- [Daily Problem] Witness of The Tall People
- [Daily Problem] Move Zeros
- Design Tic-Tac-Toe
- Algorithm Interview: Lowest Common Ancestor of 2 Nodes in Binary Tree
- [Daily Problem] Remove k-th Last Element From Linked List
©2006~2024 SteakOverCooked - 0.00712 Seconds(s) - 2887.043 KB/s - 69 Online
Memory: 494.16 KB
18:54:01 up 13 days, 18:33, 2 users, load average: 0.98, 0.86, 0.73 - Server PHP Version: 7.4.33
How to Cook a Perfect Steak? | <meta name="robots" content="index, follow">
![](/images/top.jpg)
18:54:01 up 13 days, 18:33, 2 users, load average: 0.98, 0.86, 0.73 - Server PHP Version: 7.4.33
Read & Write - Normal - Mini - Post - All Comments - Statistics
Be the first one to comment this page !