#include <iostream>
#include <queue>
#include<math.h>
using namespace std;
class node
{
public:
int data;
node *left;
node *right;
node(int d)
{
data = d;
left = NULL;
right = NULL;
}
};
node *build(string s)
{
if (s == "true")
{
int d;
cin >> d;
node *root = new node(d);
string l;
cin >> l;
if (l == "true")
{
root->left = build(l);
}
string r;
cin >> r;
if (r == "true")
{
root->right = build(r);
}
return root;
}
return NULL;
}
pair<int,bool> isHeightBalancedOptimised(node *root)
{
// Write your code here
pair<int,bool>p;
if(root == NULL){
p.first = 0;
p.second = true;
}
pair<int,bool>left = isHeightBalancedOptimised(root->left);
pair<int,bool>right = isHeightBalancedOptimised(root->right);
p.first = max(left.first,right.first)+1;
if(abs(left.first-right.first)<=1 && left.second && right.second){
p.second = true;
}else{
p.second = false;
}
return p;
}
int main()
{
node *root = build("true");
cout << boolalpha << isHeightBalancedOptimised(root).second;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlPG1hdGguaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIG5vZGUKewpwdWJsaWM6CiAgICBpbnQgZGF0YTsKICAgIG5vZGUgKmxlZnQ7CiAgICBub2RlICpyaWdodDsKCiAgICBub2RlKGludCBkKQogICAgewogICAgICAgIGRhdGEgPSBkOwogICAgICAgIGxlZnQgPSBOVUxMOwogICAgICAgIHJpZ2h0ID0gTlVMTDsKICAgIH0KfTsKCm5vZGUgKmJ1aWxkKHN0cmluZyBzKQp7CiAgICBpZiAocyA9PSAidHJ1ZSIpCiAgICB7CiAgICAgICAgaW50IGQ7CiAgICAgICAgY2luID4+IGQ7CiAgICAgICAgbm9kZSAqcm9vdCA9IG5ldyBub2RlKGQpOwogICAgICAgIHN0cmluZyBsOwogICAgICAgIGNpbiA+PiBsOwogICAgICAgIGlmIChsID09ICJ0cnVlIikKICAgICAgICB7CiAgICAgICAgICAgIHJvb3QtPmxlZnQgPSBidWlsZChsKTsKICAgICAgICB9CiAgICAgICAgc3RyaW5nIHI7CiAgICAgICAgY2luID4+IHI7CiAgICAgICAgaWYgKHIgPT0gInRydWUiKQogICAgICAgIHsKICAgICAgICAgICAgcm9vdC0+cmlnaHQgPSBidWlsZChyKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJvb3Q7CiAgICB9CiAgICByZXR1cm4gTlVMTDsKfQoKcGFpcjxpbnQsYm9vbD4gaXNIZWlnaHRCYWxhbmNlZE9wdGltaXNlZChub2RlICpyb290KQp7ICAgCiAgICAvLyBXcml0ZSB5b3VyIGNvZGUgaGVyZQogICAgcGFpcjxpbnQsYm9vbD5wOwogICAgaWYocm9vdCA9PSBOVUxMKXsKICAgICAgICBwLmZpcnN0ID0gMDsKICAgICAgICBwLnNlY29uZCA9IHRydWU7CiAgICB9CiAgICBwYWlyPGludCxib29sPmxlZnQgPSBpc0hlaWdodEJhbGFuY2VkT3B0aW1pc2VkKHJvb3QtPmxlZnQpOwogICAgcGFpcjxpbnQsYm9vbD5yaWdodCA9IGlzSGVpZ2h0QmFsYW5jZWRPcHRpbWlzZWQocm9vdC0+cmlnaHQpOwoKICAgIHAuZmlyc3QgPSBtYXgobGVmdC5maXJzdCxyaWdodC5maXJzdCkrMTsKICAgIGlmKGFicyhsZWZ0LmZpcnN0LXJpZ2h0LmZpcnN0KTw9MSAmJiBsZWZ0LnNlY29uZCAmJiByaWdodC5zZWNvbmQpewogICAgICAgIHAuc2Vjb25kID0gdHJ1ZTsKICAgIH1lbHNlewogICAgICAgIHAuc2Vjb25kID0gZmFsc2U7CiAgICB9CiAgICByZXR1cm4gcDsKfQoKaW50IG1haW4oKQp7CiAgICBub2RlICpyb290ID0gYnVpbGQoInRydWUiKTsKCiAgICBjb3V0IDw8IGJvb2xhbHBoYSA8PCBpc0hlaWdodEJhbGFuY2VkT3B0aW1pc2VkKHJvb3QpLnNlY29uZDsKCiAgICByZXR1cm4gMDsKfQo=
Main.java:1: error: illegal character: '#'
#include <iostream>
^
Main.java:1: error: class, interface, or enum expected
#include <iostream>
^
Main.java:2: error: illegal character: '#'
#include <queue>
^
Main.java:3: error: illegal character: '#'
#include<math.h>
^
Main.java:8: error: illegal start of type
public:
^
Main.java:10: error: <identifier> expected
node *left;
^
Main.java:10: error: <identifier> expected
node *left;
^
Main.java:11: error: <identifier> expected
node *right;
^
Main.java:11: error: <identifier> expected
node *right;
^
Main.java:21: error: class, interface, or enum expected
node *build(string s)
^
Main.java:26: error: class, interface, or enum expected
cin >> d;
^
Main.java:27: error: class, interface, or enum expected
node *root = new node(d);
^
Main.java:28: error: class, interface, or enum expected
string l;
^
Main.java:29: error: class, interface, or enum expected
cin >> l;
^
Main.java:30: error: class, interface, or enum expected
if (l == "true")
^
Main.java:33: error: class, interface, or enum expected
}
^
Main.java:35: error: class, interface, or enum expected
cin >> r;
^
Main.java:36: error: class, interface, or enum expected
if (r == "true")
^
Main.java:39: error: class, interface, or enum expected
}
^
Main.java:41: error: class, interface, or enum expected
}
^
Main.java:43: error: class, interface, or enum expected
}
^
Main.java:49: error: class, interface, or enum expected
if(root == NULL){
^
Main.java:51: error: class, interface, or enum expected
p.second = true;
^
Main.java:52: error: class, interface, or enum expected
}
^
Main.java:54: error: class, interface, or enum expected
pair<int,bool>right = isHeightBalancedOptimised(root->right);
^
Main.java:56: error: class, interface, or enum expected
p.first = max(left.first,right.first)+1;
^
Main.java:57: error: class, interface, or enum expected
if(abs(left.first-right.first)<=1 && left.second && right.second){
^
Main.java:59: error: class, interface, or enum expected
}else{
^
Main.java:61: error: class, interface, or enum expected
}
^
Main.java:63: error: class, interface, or enum expected
}
^
Main.java:69: error: class, interface, or enum expected
cout << boolalpha << isHeightBalancedOptimised(root).second;
^
Main.java:71: error: class, interface, or enum expected
return 0;
^
Main.java:72: error: class, interface, or enum expected
}
^
33 errors