From 86fb677e7ce3905aedf887822b9725358ffbae22 Mon Sep 17 00:00:00 2001 From: lib Date: Fri, 5 Mar 2021 21:40:30 +0800 Subject: [PATCH] Question: https://leetcode.com/explore/challenge/card/march-leetcoding-challenge-2021/588/week-1-march-1st-march-7th/3661/ --- Average-Levels-BST/bst.cpp | 34 +++++++++++++++++++++++ Average-Levels-BST/main | Bin 0 -> 87024 bytes Average-Levels-BST/main.cpp | 52 ++++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 Average-Levels-BST/bst.cpp create mode 100755 Average-Levels-BST/main create mode 100644 Average-Levels-BST/main.cpp diff --git a/Average-Levels-BST/bst.cpp b/Average-Levels-BST/bst.cpp new file mode 100644 index 0000000..32bc123 --- /dev/null +++ b/Average-Levels-BST/bst.cpp @@ -0,0 +1,34 @@ +#include + +using namespace std; + +struct TreeNode { + int val; + TreeNode *left, *right; +}; + +TreeNode *newNode(int val) { + TreeNode *node = (TreeNode*)malloc(sizeof(TreeNode)); + node -> val = val; + node -> left = node -> right = NULL; + return node; +} + +TreeNode *insertLevelOrder(int arr[], TreeNode *root, int i, int n) { + if (i < n) { + TreeNode *temp = newNode(arr[i]); + root = temp; + + root -> left = insertLevelOrder(arr, root -> left, i * 2 + 1, n); + root -> right = insertLevelOrder(arr, root -> right, 2 * i + 2, n); + } + return root; +} + +void inOrder(TreeNode *root) { + if (root != NULL) { + inOrder(root -> left); + cout << root -> val << " "; + inOrder(root -> right); + } +} \ No newline at end of file diff --git a/Average-Levels-BST/main b/Average-Levels-BST/main new file mode 100755 index 0000000000000000000000000000000000000000..d73979ab0ae8484c2649896c8c84aec4de5fc07a GIT binary patch literal 87024 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 F{|~mrxLE)I literal 0 HcmV?d00001 diff --git a/Average-Levels-BST/main.cpp b/Average-Levels-BST/main.cpp new file mode 100644 index 0000000..745c303 --- /dev/null +++ b/Average-Levels-BST/main.cpp @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include "bst.cpp" + +using namespace std; + +/** + * @see https://leetcode.com/explore/challenge/card/march-leetcoding-challenge-2021/588/week-1-march-1st-march-7th/3661/ + */ +class Solution { +public: + vector averageOfLevels(TreeNode* root) { + vector ans; + if (!root) return ans; + queue q; + q.push(root); + while(!q.empty()) { + double sum = 0, count = 0; + queue temp; + while (!q.empty()) { + TreeNode *n = q.front(); + q.pop(); + sum += n->val; + count++; + if (n->left != NULL) + temp.push(n->left); + if (n->right != NULL) + temp.push(n->right); + } + q = temp; + if (!isnan(sum/count)) ans.push_back(sum/count); + } + return ans; + } +}; + +int main() { + int arr[] = {3,9,20,15,7}; + int n = sizeof(arr)/sizeof(arr[0]); + TreeNode *root = insertLevelOrder(arr, root, 0, n); + + Solution s; + vector r = s.averageOfLevels(root); + + for (size_t i = 0; i < r.size(); i++) { + cout << r[i] << " "; + } + cout << endl; + return 0; +} \ No newline at end of file