Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from collections import deque
- class Node:
- def __init__(self, data):
- self.val = data
- self.children = []
- def count_of_nodes(root, queries, s):
- res = []
- for q in queries:
- node = tree_bfs(root, q[0])
- res.append(count_bfs(node, q[1],s))
- return res
- def tree_bfs(root, value):
- q = deque()
- q.append(root)
- while(q):
- node = q.popleft()
- if(node.val==value):
- return node
- for nodes in node.children:
- q.append(nodes)
- def count_bfs(root, c,s):
- q = deque()
- q.append(root)
- count = 0
- while(q):
- node = q.popleft()
- if(s[node.val-1]==c):
- count+=1
- for nodes in node.children:
- q.append(nodes)
- return count
- s_2 = "abaacab"
- root_2 = Node(1)
- root_2.children.append(Node(2))
- root_2.children.append(Node(3))
- root_2.children.append(Node(7))
- root_2.children[0].children.append(Node(4))
- root_2.children[0].children.append(Node(5))
- root_2.children[1].children.append(Node(6))
- queries_2 = [[1, 'a'],[2, 'b'],[3, 'a']]
- print(count_of_nodes(root_2, queries_2, s_2))
Advertisement
Add Comment
Please, Sign In to add comment