Please convert the code in C language #include using namespace std; class Node{ public: int data; //value Node *left; //pointer to left child Node *right; //pointer to right child }; // creating new node Node* newnode(int data) { Node* node = (Node*)malloc(sizeof(Node)); node->data = data; node->left = NULL; node->right = NULL; return(node); } Node* LCA(Node *root, int n1, int n2) { while(true){ if((root->data>=n1 && root->data<=n2)||(root->data<=n1 && root->data>=n2)) return root; if(n1data) root=root->left; else root=root->right; } } int main(){ cout<<"tree is built as per 1st example\n"; Node *root=newnode(8); root->left= newnode(4); root->right= newnode(10); root->right->right=newnode(11); root->right->left=newnode(9); root->left->left=newnode(3); root->left->right=newnode(5); int n1=9, n2=11; cout<<"Lowest common ancestor of "<data<
Please convert the code in C language
#include <bits/stdc++.h>
using namespace std;
class Node{
public:
int data; //value
Node *left; //pointer to left child
Node *right; //pointer to right child
};
// creating new node
Node* newnode(int data)
{
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->left = NULL;
node->right = NULL;
return(node);
}
Node* LCA(Node *root, int n1, int n2)
{
while(true){
if((root->data>=n1 && root->data<=n2)||(root->data<=n1 && root->data>=n2))
return root;
if(n1<root->data)
root=root->left;
else
root=root->right;
}
}
int main(){
cout<<"tree is built as per 1st example\n";
Node *root=newnode(8);
root->left= newnode(4);
root->right= newnode(10);
root->right->right=newnode(11);
root->right->left=newnode(9);
root->left->left=newnode(3);
root->left->right=newnode(5);
int n1=9, n2=11;
cout<<"Lowest common ancestor of "<<n1<<" & "<<n2;
cout<<" is:"<<LCA(root,n1,n2)->data<<endl;
return 0;
}
Output:
Step by step
Solved in 2 steps with 1 images