- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Count all pairs of adjacent nodes whose XOR is an odd number in C++
In this tutorial, we will be discussing a program to find the number of pairs of adjacent nodes whose XOR is an odd number.
For this we will be provided with a binary tree. Our task is to count the number of pairs of adjacent elements whose XOR is an odd number.
Example
#include <iostream> using namespace std; //node structure of tree struct Node { int data; struct Node *left, *right; }; //finding the pairs whose XOR //is odd int count_pair(Node* root, Node *parent=NULL){ if (root == NULL) return 0; //checking pair of XOR is odd or not int res = 0; if (parent != NULL && (parent->data ^ root->data) % 2) res++; return res + count_pair(root->left, root) + count_pair(root->right, root); } //creation of new node Node* newNode(int data){ Node* temp = new Node; temp->data = data; temp->left = NULL; temp->right = NULL; return temp; } int main(){ struct Node* root = NULL; root = newNode(15); root->left = newNode(13); root->left->left = newNode(12); root->left->right = newNode(14); root->right = newNode(18); root->right->left = newNode(17); root->right->right = newNode(21); printf("%d ", count_pair(root)); return 0; }
Output
5
Advertisements