aboutsummaryrefslogtreecommitdiff
path: root/other/check_complete_bt.cpp
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2025-03-10 00:36:13 -0600
committerJack Sangdahl <[email protected]>2025-03-10 00:36:13 -0600
commit7c60dee83b436e8e8a667bf9f191beced8de4fc3 (patch)
treeeb7a24ee2067f92245c57bb118e85a1baf15df50 /other/check_complete_bt.cpp
parent5d7cdc215e4ba1ec4cbb24c084cccb5e5e641468 (diff)
downloadleetcode-7c60dee83b436e8e8a667bf9f191beced8de4fc3.tar.gz
leetcode-7c60dee83b436e8e8a667bf9f191beced8de4fc3.zip
chore: move cpp and rust code to directory
Diffstat (limited to 'other/check_complete_bt.cpp')
-rw-r--r--other/check_complete_bt.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/other/check_complete_bt.cpp b/other/check_complete_bt.cpp
new file mode 100644
index 0000000..4054423
--- /dev/null
+++ b/other/check_complete_bt.cpp
@@ -0,0 +1,26 @@
+// 958. Check Completeness of a Binary Tree
+#include "leetcode.h"
+
+/*
+ * given 'root' of binary tree, determine if it is a complete binary tree. in a
+ * completely filled binary tree, every level, except possibly the last, is
+ * completely filled, and all nodes in the last level are as far left as
+ * possible. it can have between 1 and 2^h nodes inclusive at the last level h.
+ */
+
+class Solution {
+public:
+ bool isCompleteTree(TreeNode *root) {
+ vector<TreeNode *> bfs;
+ bfs.push_back(root);
+ int i = 0;
+ while (i < bfs.size() && bfs[i]) {
+ bfs.push_back(bfs[i]->left);
+ bfs.push_back(bfs[i]->right);
+ i++;
+ }
+ while (i < bfs.size() && !bfs[i])
+ i++;
+ return i == bfs.size();
+ }
+};