Given a value K and a binary tree, the task is to find out the number of subtrees having bitwise OR of all its elements equal to K.
Input: K = 5, Tree = 2 / \ 1 1 / \ \ 10 5 4 Output: 2 Explanation: Subtree 1: 5 It has only one element i.e. 5. So bitwise OR of subtree = 5 Subtree 2: 1 \ 4 it has 2 elements and bitwise OR of them is also 5 Input: K = 3, Tree = 4 / \ 3 9 / \ 2 2 Output: 1
- Traverse the tree recursively using pre-order traversal.
- For each node keep calculating the bitwise OR of its subtree as:
- If the bitwise OR of any subtree is K, increment the counter variable.
- Print the value in the counter as the required count.
- Count of subtrees in a Binary Tree having XOR value K
- Number of subtrees having odd count of even numbers
- Check if a Binary Tree contains duplicate subtrees of size 2 or more
- Print updated levels of each node of a Complete Binary Tree based on difference in weights of subtrees
- Count subtrees that sum up to a given value x only using single recursive function
- Count of subtrees from an N-ary tree consisting of single colored nodes
- Find largest subtree having identical left and right subtrees
- Total pairs in an array such that the bitwise AND, bitwise OR and bitwise XOR of LSB is 1
- Find Count of Single Valued Subtrees
- Calculate number of nodes in all subtrees | Using DFS
- Find All Duplicate Subtrees
- Subtrees formed after bursting nodes
- Maximum value of Bitwise AND from root to leaf in a Binary tree
- Count nodes having highest value in the path from root to itself in a Binary Tree
- Count nodes having smallest value in the path from root to itself in a Binary Tree
- Largest possible value of M not exceeding N having equal Bitwise OR and XOR between them
- Count of paths in given Binary Tree with odd bitwise AND for Q queries
- Complexity of different operations in Binary tree, Binary Search Tree and AVL tree
- Leftover element after performing alternate Bitwise OR and Bitwise XOR operations on adjacent pairs
- Find subsequences with maximum Bitwise AND and Bitwise OR
bitwise OR of its subtree = (bitwise OR of node’s left subtree) | (bitwise OR of node’s right subtree) | (node’s value)
Time Complexity: As in the above approach, we are iterating over each node only once, therefore it will take O(N) time where N is the number of nodes in the Binary tree.
Auxiliary Space Complexity: As in the above approach there is no extra space used, therefore the Auxiliary Space complexity will be O(1).
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : nidhi_biet