using System.Collections.Generic;
public TreeNode(int val=0, TreeNode left=null, TreeNode right=null)
public static bool IsCompleteTree(TreeNode root) {
var queue = new Queue<TreeNode>();
while (queue.Peek() != null)
var node = queue.Dequeue();
queue.Enqueue(node.left);
queue.Enqueue(node.right);
while (queue.Any() && queue.Peek() == null)
public static void Main()
Console.WriteLine("UniLecs");
var root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
root.right.left = new TreeNode(6);
Console.WriteLine(IsCompleteTree(root));
var root2 = new TreeNode(1);
root2.left = new TreeNode(2);
root2.right = new TreeNode(3);
root2.left.left = new TreeNode(4);
root2.left.right = new TreeNode(5);
root2.right.right = new TreeNode(7);
Console.WriteLine(IsCompleteTree(root2));