maximum-depth-of-binary-tree
1.0.0
Maximum Depth of Binary Tree
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1
#include <bits/stdc++.h>
2
3
using namespace
std;
4
5
struct
TreeNode
6
{
7
int
val
;
8
TreeNode
*
left
;
9
TreeNode
*
right
;
10
TreeNode
() :
val
(0),
left
(nullptr),
right
(nullptr) {}
11
TreeNode
(
int
x) :
val
(x),
left
(nullptr),
right
(nullptr) {}
12
TreeNode
(
int
x,
TreeNode
*
left
,
TreeNode
*
right
) :
val
(x),
left
(
left
),
right
(
right
) {}
13
};
14
15
class
Solution
16
{
17
public
:
18
int
maxDepth
(
TreeNode
* root)
19
{
20
if
(!root)
21
return
0;
22
queue<pair<TreeNode*, int>> q;
23
q.push({root, 1});
24
int
level = 0;
25
while
(!q.empty())
26
{
27
TreeNode
* t = q.front().first;
28
level = max(level, q.front().second);
29
q.pop();
30
31
if
(t->
left
)
32
q.push({t->
left
, level + 1});
33
if
(t->
right
)
34
q.push({t->
right
, level + 1});
35
}
36
return
level;
37
}
38
};
39
40
int
main
()
41
{
42
TreeNode
* root =
new
TreeNode
(1,
nullptr
,
new
TreeNode
(2));
43
cout <<
"max depth: "
<<
Solution
().
maxDepth
(root) <<
'\n'
;
44
delete
root->
right
;
45
delete
root;
46
return
0;
47
}
Solution
Definition
main.cpp:16
Solution::maxDepth
int maxDepth(TreeNode *root)
Definition
main.cpp:18
main
int main()
Definition
main.cpp:40
TreeNode
Definition
main.cpp:6
TreeNode::val
int val
Definition
main.cpp:7
TreeNode::left
TreeNode * left
Definition
main.cpp:8
TreeNode::TreeNode
TreeNode(int x, TreeNode *left, TreeNode *right)
Definition
main.cpp:12
TreeNode::right
TreeNode * right
Definition
main.cpp:9
TreeNode::TreeNode
TreeNode(int x)
Definition
main.cpp:11
TreeNode::TreeNode
TreeNode()
Definition
main.cpp:10
main.cpp
Generated by
1.9.8