diff --git a/leaf nodes sum in a binary tree b/leaf nodes sum in a binary tree new file mode 100644 index 00000000..e6a2096b --- /dev/null +++ b/leaf nodes sum in a binary tree @@ -0,0 +1,37 @@ + +#include +using namespace std; +struct Node{ + int data; + Node *left, *right; +}; +Node *newNode(int data){ + Node *temp = new Node(); + temp->data = data; + temp->left = temp->right = NULL; + return temp; +} +void leafSum(Node *root, int *sum){ + if (!root) + return; + if (!root->left && !root->right) + *sum += root->data; + leafSum(root->left, sum); + leafSum(root->right, sum); +} + +int main(){ + + Node *root = newNode(1); + root->left = newNode(2); + root->left->left = newNode(4); + root->left->right = newNode(5); + root->right = newNode(3); + root->right->right = newNode(7); + root->right->left = newNode(6); + root->right->left->right = newNode(8); + int sum = 0; + leafSum(root, &sum); + cout << sum << endl; + return 0; +} diff --git a/tower of honoi b/tower of honoi new file mode 100644 index 00000000..4a6682fc --- /dev/null +++ b/tower of honoi @@ -0,0 +1,29 @@ +#include +using namespace std; + +//tower of HANOI function implementation +void TOH(int n,char Sour, char Aux,char Des) +{ + if(n==1) + { + cout<<"Move Disk "<>n; + //calling the TOH + TOH(n,'A','B','C'); + + return 0; +}