Skip to content

Commit e2d471e

Browse files
authored
Merge pull request #2999 from dkiryanov/csharp/0958-check-completeness-of-a-binary-tree
Added a C# solution to 958. Check completeness of a binary tree
2 parents 66ab937 + 292d22b commit e2d471e

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

Diff for: csharp/0958-check-completeness-of-a-binary-tree.cs

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* public class TreeNode {
4+
* public int val;
5+
* public TreeNode left;
6+
* public TreeNode right;
7+
* public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) {
8+
* this.val = val;
9+
* this.left = left;
10+
* this.right = right;
11+
* }
12+
* }
13+
*/
14+
public class Solution
15+
{
16+
public bool IsCompleteTree(TreeNode root)
17+
{
18+
Queue<TreeNode> queue = new Queue<TreeNode>();
19+
queue.Enqueue(root);
20+
21+
bool nullFound = false;
22+
23+
while (queue.Any())
24+
{
25+
TreeNode node = queue.Dequeue();
26+
27+
if (node is null)
28+
{
29+
nullFound = true;
30+
continue;
31+
}
32+
33+
if (nullFound)
34+
{
35+
return false;
36+
}
37+
38+
queue.Enqueue(node.left);
39+
queue.Enqueue(node.right);
40+
}
41+
42+
return true;
43+
}
44+
}

0 commit comments

Comments
 (0)