Skip to content

Commit 603bee3

Browse files
authored
Create left view of tree.cpp
1 parent fec7629 commit 603bee3

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

left view of tree.cpp

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// C++ program to print left view of Binary Tree
2+
#include <bits/stdc++.h>
3+
using namespace std;
4+
5+
struct Node
6+
{
7+
int data;
8+
struct Node *left, *right;
9+
};
10+
11+
12+
struct Node *newNode(int item)
13+
{
14+
struct Node *temp = (struct Node *)malloc(
15+
sizeof(struct Node));
16+
temp->data = item;
17+
temp->left = temp->right = NULL;
18+
return temp;
19+
}
20+
21+
// left view of a binary tree.
22+
void leftViewUtil(struct Node *root,
23+
int level, int *max_level)
24+
{
25+
26+
if (root == NULL) return;
27+
28+
29+
if (*max_level < level)
30+
{
31+
cout << root->data << " ";
32+
*max_level = level;
33+
}
34+
35+
leftViewUtil(root->left, level + 1, max_level);
36+
leftViewUtil(root->right, level + 1, max_level);
37+
38+
}
39+
40+
41+
void leftView(struct Node *root)
42+
{
43+
int max_level = 0;
44+
leftViewUtil(root, 1, &max_level);
45+
}
46+
47+
int main()
48+
{
49+
Node* root = newNode(10);
50+
root->left = newNode(2);
51+
root->right = newNode(3);
52+
root->left->left = newNode(7);
53+
root->left->right = newNode(8);
54+
root->right->right = newNode(15);
55+
root->right->left = newNode(12);
56+
root->right->right->left = newNode(14);
57+
58+
leftView(root);
59+
60+
return 0;
61+
}

0 commit comments

Comments
 (0)