diff options
Diffstat (limited to 'add_row_tree.cpp')
-rw-r--r-- | add_row_tree.cpp | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/add_row_tree.cpp b/add_row_tree.cpp deleted file mode 100644 index 54ebfb4..0000000 --- a/add_row_tree.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - TreeNode *addOneRow(TreeNode *root, int val, int depth) { - if (depth-- == 1) - return new TreeNode(val, root, nullptr); - queue<TreeNode *> q; - q.push(root); - while (!q.empty()) { - bool addLevel = depth-- == 1; - size_t sz = q.size(); - for (size_t _ = 0; _ < sz; _++) { - TreeNode *curr = q.front(); - q.pop(); - if (addLevel) { - curr->left = new TreeNode(val, curr->left, nullptr); - curr->right = new TreeNode(val, nullptr, curr->right); - continue; - } - if (curr->left) - q.push(curr->left); - if (curr->right) - q.push(curr->right); - } - } - return root; - } -}; |