মডিউল ১৯-৫ঃ Special Binary Tree (Coding Ninjas)
#include <bits/stdc++.h>
bool isSpecialBinaryTree(BinaryTreeNode<int> *root)
{
if (root->left == NULL && root->right == NULL) // যদি লেফট, রাইট দুটিই নাল হয় তারমানে কোন চাইল্ড নেই। তাই রিটার্ন ট্রু।
return true;
if (root->left == NULL || root->right == NULL) // উপরের কন্ডিশন সত্য না হলে এখানে আসবে। এখন চেক করে দেখা হচ্ছে লেফট, রাইট দুটির মধ্যে যেকোন একটি নাল কিনা। নাল হলে রিটার্ন ফলস।
return false;
bool l = isSpecialBinaryTree(root->left); // উপরের কন্ডিশন সত্য না হলে দুটি চাইল্ড ই আছে। তাই দুটি চাইল্ড পাঠিয়ে দেওয়া হচ্ছে রিকারশনে।
bool r = isSpecialBinaryTree(root->right);
if (l == false || r == false) // দুটি চাইল্ড এর মধ্যে যেকোন একটি যদি ফলস হয় তাহলে রিটার্ন ফলস।
return false;
return true; // নাহলে রিটার্ন ট্রু।
}Previousমডিউল ১৯-৪ঃ Diameter Of Binary Tree (Coding Ninjas)Nextমডিউল ১৯-৬ঃ Reverse Level Order Traversal (Coding Ninjas)
Last updated