From 04983fb964c7238c8df2d14033750425d29971d6 Mon Sep 17 00:00:00 2001 From: Jidong Xiao Date: Tue, 2 Apr 2024 11:41:40 -0400 Subject: [PATCH] remove some code --- labs/11_stacks_and_queues/levelOrder_sol1.cpp | 153 ------------------ labs/11_stacks_and_queues/levelOrder_sol2.cpp | 140 ---------------- labs/11_stacks_and_queues/levelOrder_sol3.cpp | 126 --------------- 3 files changed, 419 deletions(-) delete mode 100644 labs/11_stacks_and_queues/levelOrder_sol1.cpp delete mode 100644 labs/11_stacks_and_queues/levelOrder_sol2.cpp delete mode 100644 labs/11_stacks_and_queues/levelOrder_sol3.cpp diff --git a/labs/11_stacks_and_queues/levelOrder_sol1.cpp b/labs/11_stacks_and_queues/levelOrder_sol1.cpp deleted file mode 100644 index 3645190..0000000 --- a/labs/11_stacks_and_queues/levelOrder_sol1.cpp +++ /dev/null @@ -1,153 +0,0 @@ -#include -#include -#include - -// Definition for a binary tree node. -class TreeNode { -public: - int val; - TreeNode* left; - TreeNode* right; - TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} -}; - -class MyQueue { -public: - MyQueue() { - - } - - void push(TreeNode* x) { - int size = myStack1.size(); - // move everything in stack1 to stack2 - for(int i=0;i myStack1; - std::stack myStack2; -}; - -std::vector> levelOrderTraversal(TreeNode* root) { - std::vector> result; - - if (root == nullptr) { - return result; - } - - MyQueue myQueue; - myQueue.push(root); - - while (!myQueue.empty()) { - int size = myQueue.size(); - std::vector current_level; - - for (int i = 0; i < size; i++) { - TreeNode* current = myQueue.front(); - myQueue.pop(); - std::cout << current->val << " "; - - if (current != nullptr) { - current_level.push_back(current->val); - - if (current->left != nullptr) { - myQueue.push(current->left); - } - if (current->right != nullptr) { - myQueue.push(current->right); - } - } - } - - result.push_back(current_level); - } - - return result; -} - -int main() { - /* test case 1 - * 1 - * 2 3 - * 4 5 6 7 - */ - TreeNode* root1 = new TreeNode(1); - root1->left = new TreeNode(2); - root1->right = new TreeNode(3); - root1->left->left = new TreeNode(4); - root1->left->right = new TreeNode(5); - root1->right->left = new TreeNode(6); - root1->right->right = new TreeNode(7); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root1); - std::cout << std::endl; - - /* test case 2 - * 1 - * 2 3 - * 4 5 6 7 - * 8 9 - */ - TreeNode* 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->left = new TreeNode(6); - root2->right->right = new TreeNode(7); - root2->right->right->left = new TreeNode(8); - root2->right->right->right = new TreeNode(9); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root2); - std::cout << std::endl; - - /* test case 3 - * 1 - * 2 3 - * 4 5 6 7 - * 8 - */ - TreeNode* root3 = new TreeNode(1); - root3->left = new TreeNode(2); - root3->right = new TreeNode(3); - root3->left->left = new TreeNode(4); - root3->left->right = new TreeNode(5); - root3->right->left = new TreeNode(6); - root3->right->right = new TreeNode(7); - root3->left->left->left = new TreeNode(8); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root3); - std::cout << std::endl; - - return 0; -} - diff --git a/labs/11_stacks_and_queues/levelOrder_sol2.cpp b/labs/11_stacks_and_queues/levelOrder_sol2.cpp deleted file mode 100644 index 70bfd54..0000000 --- a/labs/11_stacks_and_queues/levelOrder_sol2.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#include -#include -#include - -// Definition for a binary tree node. -class TreeNode { -public: - int val; - TreeNode* left; - TreeNode* right; - TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} -}; - -class MyQueue { -public: - MyQueue() { - - } - - void push(TreeNode* node) { - myList.push_back(node); - } - - void pop() { - myList.pop_front(); - } - - TreeNode* front() { - return myList.front(); - } - - bool empty() { - return myList.empty(); - } - - int size() { - return myList.size(); - } - -private: - std::list myList; -}; - -std::vector> levelOrderTraversal(TreeNode* root) { - std::vector> result; - - if (root == nullptr) { - return result; - } - - MyQueue myQueue; - myQueue.push(root); - - while (!myQueue.empty()) { - int size = myQueue.size(); - std::vector current_level; - - for (int i = 0; i < size; i++) { - TreeNode* current = myQueue.front(); - myQueue.pop(); - std::cout << current->val << " "; - - if (current != nullptr) { - current_level.push_back(current->val); - - if (current->left != nullptr) { - myQueue.push(current->left); - } - if (current->right != nullptr) { - myQueue.push(current->right); - } - } - } - - result.push_back(current_level); - } - - return result; -} - -int main() { - /* test case 1 - * 1 - * 2 3 - * 4 5 6 7 - */ - TreeNode* root1 = new TreeNode(1); - root1->left = new TreeNode(2); - root1->right = new TreeNode(3); - root1->left->left = new TreeNode(4); - root1->left->right = new TreeNode(5); - root1->right->left = new TreeNode(6); - root1->right->right = new TreeNode(7); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root1); - std::cout << std::endl; - - /* test case 2 - * 1 - * 2 3 - * 4 5 6 7 - * 8 9 - */ - TreeNode* 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->left = new TreeNode(6); - root2->right->right = new TreeNode(7); - root2->right->right->left = new TreeNode(8); - root2->right->right->right = new TreeNode(9); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root2); - std::cout << std::endl; - - /* test case 3 - * 1 - * 2 3 - * 4 5 6 7 - * 8 - */ - TreeNode* root3 = new TreeNode(1); - root3->left = new TreeNode(2); - root3->right = new TreeNode(3); - root3->left->left = new TreeNode(4); - root3->left->right = new TreeNode(5); - root3->right->left = new TreeNode(6); - root3->right->right = new TreeNode(7); - root3->left->left->left = new TreeNode(8); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root3); - std::cout << std::endl; - - return 0; -} - diff --git a/labs/11_stacks_and_queues/levelOrder_sol3.cpp b/labs/11_stacks_and_queues/levelOrder_sol3.cpp deleted file mode 100644 index 5d8dae5..0000000 --- a/labs/11_stacks_and_queues/levelOrder_sol3.cpp +++ /dev/null @@ -1,126 +0,0 @@ -#include -#include -#include - -// Definition for a binary tree node. -class TreeNode { -public: - int val; - TreeNode* left; - TreeNode* right; - TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} -}; - -std::vector> levelOrderTraversal(TreeNode* root) { - std::vector> result; - - if (root == nullptr) { - return result; - } - - std::queue myQueue; - myQueue.push(root); - - while (!myQueue.empty()) { - int size = myQueue.size(); - std::vector current_level; - - for (int i = 0; i < size; i++) { - TreeNode* current = myQueue.front(); - myQueue.pop(); - std::cout << current->val << " "; - - if (current != nullptr) { - current_level.push_back(current->val); - - if (current->left != nullptr) { - myQueue.push(current->left); - } - if (current->right != nullptr) { - myQueue.push(current->right); - } - } - } - - result.push_back(current_level); - } - - return result; -} - -void deleteTree(TreeNode* root){ - if(root==nullptr){ - return; - } - if(root->left!=nullptr){ - deleteTree(root->left); - } - if(root->right!=nullptr){ - deleteTree(root->right); - } - delete root; -} - -int main() { - /* test case 1 - * 1 - * 2 3 - * 4 5 6 7 - */ - TreeNode* root1 = new TreeNode(1); - root1->left = new TreeNode(2); - root1->right = new TreeNode(3); - root1->left->left = new TreeNode(4); - root1->left->right = new TreeNode(5); - root1->right->left = new TreeNode(6); - root1->right->right = new TreeNode(7); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root1); - std::cout << std::endl; - - /* test case 2 - * 1 - * 2 3 - * 4 5 6 7 - * 8 9 - */ - TreeNode* 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->left = new TreeNode(6); - root2->right->right = new TreeNode(7); - root2->right->right->left = new TreeNode(8); - root2->right->right->right = new TreeNode(9); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root2); - std::cout << std::endl; - - /* test case 3 - * 1 - * 2 3 - * 4 5 6 7 - * 8 - */ - TreeNode* root3 = new TreeNode(1); - root3->left = new TreeNode(2); - root3->right = new TreeNode(3); - root3->left->left = new TreeNode(4); - root3->left->right = new TreeNode(5); - root3->right->left = new TreeNode(6); - root3->right->right = new TreeNode(7); - root3->left->left->left = new TreeNode(8); - - std::cout << "Level Order Traversal: "; - levelOrderTraversal(root3); - std::cout << std::endl; - - deleteTree(root1); - deleteTree(root2); - deleteTree(root3); - return 0; -} -